Formulario que guarde nombre (excel)
Buenas tardes.
Hoy es una consulta un poco más complicada paramisolo.
Verás estoy haciendo un formulario que inserte nombres y apellidos en una hoja.
Visualmente tiene la cajita del formulario para insertar el nombre y apellido y 2 botones, uno de INSERTAR y otro de BUSCAR
------------------------------------------------
Private Sub CommandButton1_Click()
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Offset(0, 1).Select
TextBox1 = ActiveCell
'Boton insertar
Private Sub CommandButton3_Click()
Range("C9").Select
Selection.EntireRow.Insert
TextBox1 = Empty
TextBox2 = Empty
TextBox1.SetFocus
End Sub
'Inserta (nombre) en la celda C9
Private Sub TextBox1_Change()
Range("C9").FormulaR1C1 = TextBox1
End Sub
'Inserta (apellido) en la celda D9
Private Sub TextBox2_Change()
Range("D9").FormulaR1C1 = TextBox2
End Sub
-----------------------------------------------
Hasta ahí bien. Lo que sucede es que si por casualidad dejan alguno de los 2 campos vacíos quisiera que saliese un mensaje (msgbox) diciendo que falta por rellenar un campo.
He hecho esto, probando que lo que no se ha insertado fuese por ejemplo el nombre:
'Inserta (nombre) en la celda C9
Private Sub TextBox1_Change()
If TextBox1 = Empty Then
MsgBox "error inserte el campo que falta"
Else
Range("C9").FormulaR1C1 = TextBox1
End If
End Sub
Esto me lo hace todo correctamente, si escribo solo 1 campo y le doy a insertar, me sale el mensaje de error, y me borra el campo que si estaba añadido (en este caso me borra el apellido) con lo que los dos campos quedan en blanco.
Lo que quisiera es si se puede hacer que el campo del apellido lo guarde, es decir lo deje almacenado en la cajita del formulario (en la celda no), en espera de poner el nombre y darle al boton de INSERTAR.
¿Podrías ayudarme? Un saludo y gracias.
Hoy es una consulta un poco más complicada paramisolo.
Verás estoy haciendo un formulario que inserte nombres y apellidos en una hoja.
Visualmente tiene la cajita del formulario para insertar el nombre y apellido y 2 botones, uno de INSERTAR y otro de BUSCAR
------------------------------------------------
Private Sub CommandButton1_Click()
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Offset(0, 1).Select
TextBox1 = ActiveCell
'Boton insertar
Private Sub CommandButton3_Click()
Range("C9").Select
Selection.EntireRow.Insert
TextBox1 = Empty
TextBox2 = Empty
TextBox1.SetFocus
End Sub
'Inserta (nombre) en la celda C9
Private Sub TextBox1_Change()
Range("C9").FormulaR1C1 = TextBox1
End Sub
'Inserta (apellido) en la celda D9
Private Sub TextBox2_Change()
Range("D9").FormulaR1C1 = TextBox2
End Sub
-----------------------------------------------
Hasta ahí bien. Lo que sucede es que si por casualidad dejan alguno de los 2 campos vacíos quisiera que saliese un mensaje (msgbox) diciendo que falta por rellenar un campo.
He hecho esto, probando que lo que no se ha insertado fuese por ejemplo el nombre:
'Inserta (nombre) en la celda C9
Private Sub TextBox1_Change()
If TextBox1 = Empty Then
MsgBox "error inserte el campo que falta"
Else
Range("C9").FormulaR1C1 = TextBox1
End If
End Sub
Esto me lo hace todo correctamente, si escribo solo 1 campo y le doy a insertar, me sale el mensaje de error, y me borra el campo que si estaba añadido (en este caso me borra el apellido) con lo que los dos campos quedan en blanco.
Lo que quisiera es si se puede hacer que el campo del apellido lo guarde, es decir lo deje almacenado en la cajita del formulario (en la celda no), en espera de poner el nombre y darle al boton de INSERTAR.
¿Podrías ayudarme? Un saludo y gracias.
1 Respuesta
Respuesta de paramisolo
1