Como funciona textbox y un combobox con vb excel

Hola, estoy haciendo un formulario para que funcione con una hoja de excel, en esta hoja hay un listado con los campos : Nombre y Apellidos, Fototipo, fecha, tipo de Bono, minutos sesión. En el formulario he puesto un textbox con el label: nuevo cliente y un cmbobox con el label cliente habitual, la idea es que cuando se rellene el textbox lo que se escriba vaya a la celda vacía del campo "Nombre y apellidos", y cuando ya haya varios clientes en ese campo, con el combobox se despliegue todos los clientes registrados, para cuando llegue un cliente habitual solo haya que marcarlo de esa lista. ¿Que hay que hacer para que el valor vaya en ambos casos a la celda vacía del campo Nombre y Apellidos. En el formulario tengo también tres option button para elegir entre tres tipos de Fototipo: Fototipo2, fototipo3, y fotipo4. ¿Como se hace para que aparezca en la celda vacía el tipo de fototipo. Con los bonos también he puesto tres option button así que es la misma pregunta. Para la fecha me gustaría que se pudiera elegí entre cualquier fecha y la del día que se reellena de una manera automática. Gracias de antemano

1 Respuesta

Respuesta
1
Ve si te sirve este código, la idea es pegar este código en el userform, que tienes creado, con esta idea el combobox te va a mostrar los apellidos que ya están ingresados y según la opción tomada te pondrá en otro textbox el texto correspondiente y luego grabara en las celdas. Esta forma de ingreso te asegura revisar los datos antes de grabar por eso al Userform debes poner dos comandos uno para ingresar y otro para anular. Esta ingreso te agrega linea sobre la ultima escrita, se puede también ingresar al final de la lista de otra forma.
Private Sub UserForm_Initialize()
Dim listanombres As Integer
'cargamos los Nombres
listanombres = Worksheets("Datos").Range("A" & Cells.Rows.Count).End(xlUp).Row
If listanombres = 0 Then Exit Sub
ComboBox1.RowSource = "A1:A" & listanombres
TextBox2 = DateValue(Now)
End Sub
Private Sub CommandButton1_Click()
    Dim elige As String
    Dim fila As String
    Rows("1:1").Select
    fila = ActiveCell.Row
    Selection.Insert Shift:=xlDown
    ActiveCell = ComboBox1
    Range("b" + fila) = TextBox1
    Range("c" + fila) = CDate(TextBox2)
    Range("d" + fila) = TextBox3
    Unload UserForm1
End Sub
Private Sub OptionButton1_Click()
    TextBox3 = "Fototipo2"
End Sub
Private Sub OptionButton2_Click()
    TextBox3 = "Fototipo3"
End Sub
Private Sub CommandButton2_Click()
    Unload UserForm1
End Sub
Cuéntame como te resulta.
Solucionaste el problema planteado o aun estas en dudas
Cuéntame

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas