Limpiar celdas al pasar los datos
Hola expertos
me gustaría que me ayudaran con la siguiente macros la cual me pasa los datos de un formulario hecho en la hoja de excel, a otra hoja. (base de datos)
el problema:
que al pasar los datos de las celdas a la otra hoja, la información que paso queda siempre allí.
lo que necesito:
es que la macros a parte de pasarme los datos, me limpie las celdas y me quede vacío para ingresar la nueva información.
macros
Este código esta en la hoja 1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$G$7" And Target.Address <> "$G$9" Then Exit Sub
If Target = "" Then Exit Sub
On Error Resume Next
If Target.Address = "$G$7" Then fil = Application.WorksheetFunction.Match(Target, Sheets("Hoja2").Columns("B:B"), 0)
If Target.Address = "$G$9" Then fil = Application.WorksheetFunction.Match(Target, Sheets("Hoja2").Columns("C:C"), 0)
If fil = "" Then Exit Sub
Application.EnableEvents = False
Range("G5") = Sheets("Hoja2").Range("A" & fil) 'GENERO
Range("G7") = Sheets("Hoja2").Range("B" & fil) 'NOMBRE COMPLETO
Range("G9") = Sheets("Hoja2").Range("C" & fil) 'N-RNE
Range("G11") = Sheets("Hoja2").Range("D" & fil) 'MUNICIPIO
Range("G13") = Sheets("Hoja2").Range("E" & fil) 'DEPARTAMENTO
Range("G16") = Sheets("Hoja2").Range("F" & fil) 'DIA
Range("G18") = Sheets("Hoja2").Range("G" & fil) 'MES
Range("G20") = Sheets("Hoja2").Range("H" & fil) 'AÑO
Range("J8") = Sheets("Hoja2").Range("I" & fil) 'EDAD
Range("J10") = Sheets("Hoja2").Range("J" & fil) 'KINDER
Range("J12") = Sheets("Hoja2").Range("K" & fil) 'REPITE
Range("J14") = Sheets("Hoja2").Range("L" & fil) 'APADRINADO
Range("J16") = Sheets("Hoja2").Range("M" & fil) 'VACUNADO
Range("J18") = Sheets("Hoja2").Range("N" & fil) 'GRADO
Range("J20") = Sheets("Hoja2").Range("O" & fil) 'SECCIÓN
Range("G24") = Sheets("Hoja2").Range("P" & fil) 'IDENTIDAD
Range("J24") = Sheets("Hoja2").Range("Q" & fil) 'NOMBRE COMPLETO
Range("J26") = Sheets("Hoja2").Range("R" & fil) 'PARENTESCO
Range("G26") = Sheets("Hoja2").Range("S" & fil) 'DIRECCIÓN
Range("G28") = Sheets("Hoja2").Range("T" & fil) 'TRABAJO
Range("J28") = Sheets("Hoja2").Range("U" & fil) 'TELEF
Application.EnableEvents = True
End Sub
+
+
Este código esta en el modulo:
Sub Matricular()
On Error Resume Next
fil = Application.WorksheetFunction.Match(Range("G7"), Sheets("Hoja3").Columns("B:B"), 0)
If fil <> "" Then
MsgBox ("Ya está matriculado")
Exit Sub
End If
uf3 = Sheets("Hoja3").Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
Sheets("Hoja3").Range("A" & uf3) = Range("G5") 'GENERO
Sheets("Hoja3").Range("B" & uf3) = Range("G7") 'NOMBRE COMPLETO
Sheets("Hoja3").Range("C" & uf3) = Range("G9") 'N-RNE
Sheets("Hoja3").Range("D" & uf3) = Range("G11") 'MUNICIPIO
Sheets("Hoja3").Range("E" & uf3) = Range("G13") 'DEPARTAMENTO
Sheets("Hoja3").Range("F" & uf3) = Range("G16") 'DIA
Sheets("Hoja3").Range("G" & uf3) = Range("G18") 'MES
Sheets("Hoja3").Range("H" & uf3) = Range("G20") 'AÑO
Sheets("Hoja3").Range("I" & uf3) = Range("J8") 'EDAD
Sheets("Hoja3").Range("J" & uf3) = Range("J10") 'KINDER
Sheets("Hoja3").Range("K" & uf3) = Range("J12") 'REPITE
Sheets("Hoja3").Range("L" & uf3) = Range("J14") 'APADRINADO
Sheets("Hoja3").Range("M" & uf3) = Range("J16") 'VACUNADO
Sheets("Hoja3").Range("N" & uf3) = Range("J18") 'GRADO
Sheets("Hoja3").Range("O" & uf3) = Range("J20") 'SECCIÓN
Sheets("Hoja3").Range("P" & uf3) = Range("G24") 'IDENTIDAD
Sheets("Hoja3").Range("Q" & uf3) = Range("J24") 'NOMBRE COMPLETO
Sheets("Hoja3").Range("R" & uf3) = Range("J26") 'PARENTESCO
Sheets("Hoja3").Range("S" & uf3) = Range("G26") 'DIRECCIÓN
Sheets("Hoja3").Range("T" & uf3) = Range("G28") 'TRABAJO
Sheets("Hoja3").Range("U" & uf3) = Range("J28") 'TELÉFONO
Sheets("Hoja3").Range("V" & uf3) = Range("F30") 'FECHA
End Sub
Bueno espero me puedan ayudar.