Insertar datos mediante un textbox

Soy nuevo en esto de las macros y seguramente mi pregunta sea muy básica pero no encuentro la solución...
Tengo una hoja con una base de datos de cinco campos. Los datos los quiero insertar mediante textbox. He hecho un formulario con cinco textbox (nombre, dirección, etc...) y un botón para añadir los datos y cerrar. Pero no se que tengo que poner en el código para que me busque una fila vacía y escriba los datos donde corresponden. Esto es lo que tengo, pero no funciona:
Private Sub TextBox1_Change()
ActiveCell.Offset.Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub
Private Sub TextBox2_Change()
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub
Private Sub TextBox3_Change()
ActiveCell.0ffset(0, 1).Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub
Private Sub TextBox4_Change()
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = TextBox4
End Sub
Private Sub TextBox5_Change()
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = TextBox5
End Sub
O sea, necesito saber como hacer para que cambie de columna (eso creo...).
No me he explicado muy bien.
Respuesta
2
El botón de comando debe buscar la primer fila libre y volcar allí los datos.
Debes quitar las instrucciones que colocaste en cada TExtbox, dejando solo estas para el botón:
Private Sub Aceptar_Click()
'se busca la primer fila libre
libre = Range("A65536").End(xlUp).Row + 1
'se vuelcan los datos en cda col
Range("A" & libre) = textbox1
Range("B" & libre) = textbox2
'y así con el resto
'.............
End Sub
Nota: tener en cuenta que los textbox son 'cajas de texto', si necesitas pasar como valor o fechas tendrás que utilizar funciones de conversión, como Val, CDate, etc (*)
TE invito a visitar mi página de macros donde encontrarás ejemplos de sintaxis más simples que las utilizadas en tu ejemplo.
(*) En la Ayuda del Editor encontrarás ejemplos de funciones de conversión. También 1 cap dedicado a este tema en mis manuales de macros

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas