Como guardar el valor de un textbox dependiendo de la selección de un combobox

Tengo un formulario y dentro de el tengo un textbox vacío y un combobox con varias opciones que toma de la fila 1.

Se supone que en este formulario tengo que elegir una opción del combobox y en seguida agregarle una descripción, me gustaría saber como hacer que la descripción se guarde debajo de la opción que elija encontrando el siguiente espacio vacío..

2 Respuestas

Respuesta
1

http://www.programarexcel.com/2014/12/combobox-depende-otro-combobox-carga.html 

Mira esos tres ejemplos que te ayudarán a lo que requiere hacer

Respuesta
2

Envíame tu archivo con el formulario y unos ejemplos de cómo quieres el resultado.

muchas gracias!!, enviado!

Este es el código para cargar el combo1, el combo2, el combo3 para guardar los datos en la hoja2.

Private Sub ComboBox1_Change()
'Por.Dante Amor
    If ComboBox1 = "" Then Exit Sub
    ComboBox2.Clear
    c = ComboBox1.ListIndex + 1
    For i = 2 To Hoja1.Cells(Rows.Count, c).End(xlUp).Row
        ComboBox2.AddItem Hoja1.Cells(i, c)
    Next
End Sub
Private Sub CommandButton2_Click()
'Por.Dante Amor
    c = ComboBox3.ListIndex + 1
    f = Hoja2.Cells(Rows.Count, c).End(xlUp).Row + 1
    Hoja2.Cells(f, c) = ComboBox1 & ": " & ComboBox2 & ". Cantidad: " & TextBox1
    MsgBox "Falla guardada"
    ComboBox1 = ""
    ComboBox2 = ""
    ComboBox3 = ""
    TextBox1 = ""
    ComboBox1.SetFocus
End Sub
Private Sub UserForm_Activate()
'Por.Dante Amor
    For i = 1 To Hoja1.Cells(1, Columns.Count).End(xlToLeft).Column
        ComboBox1.AddItem Hoja1.Cells(1, i)
    Next
    For i = 1 To Hoja2.Cells(1, Columns.Count).End(xlToLeft).Column
        ComboBox3.AddItem Format(Hoja2.Cells(1, i), "hh:mm")
    Next
End Sub
Private Sub CommandButton3_Click()
    Unload Me
    agregar.Show
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub

¡Gracias! tus respuestas siempre son geniales!

Hola!, me ha parecido agnifico el código que me enviaste ;), pero todos los datos se guardan en la misma celda, y me gustaría saber como hacer que cada valor de cada combo se guarde en una celda diferente!...

Muchas gracias!

Me tienes que decir en qué celda quieres cada dato

Si!, te envío un correo de como deben quedar!

Gracias!

Este es el código para guardar en diferentes columnas.

Private Sub ComboBox1_Change()
'Por.Dante Amor
    If ComboBox1 = "" Then Exit Sub
    ComboBox2.Clear
    c = ComboBox1.ListIndex + 1
    For i = 2 To Hoja1.Cells(Rows.Count, c).End(xlUp).Row
        ComboBox2.AddItem Hoja1.Cells(i, c)
    Next
End Sub
Private Sub CommandButton2_Click()
'Por.Dante Amor
    c = Val(ComboBox3.List(ComboBox3.ListIndex, 1))
    f = Hoja2.Cells(Rows.Count, Val(c)).End(xlUp).Row + 1
    Hoja2.Cells(f, c) = ComboBox1
    Hoja2.Cells(f, c + 1) = ComboBox2
    Hoja2.Cells(f, c + 2) = Val(TextBox1)
    MsgBox "Falla guardada"
    ComboBox1 = ""
    ComboBox2 = ""
    ComboBox3 = ""
    TextBox1 = ""
    ComboBox1.SetFocus
End Sub
Private Sub UserForm_Activate()
'Por.Dante Amor
    For i = 1 To Hoja1.Cells(1, Columns.Count).End(xlToLeft).Column
        ComboBox1.AddItem Hoja1.Cells(1, i)
    Next
    'carga horarios
    ComboBox3.ColumnCount = 2
    ComboBox3.ColumnWidths = "1;0"
    For i = 1 To Hoja2.Cells(1, Columns.Count).End(xlToLeft).Column
        If Hoja2.Cells(1, i) <> "" Then
            ComboBox3.AddItem Format(Hoja2.Cells(1, i), "hh:mm")
            ComboBox3.List(ComboBox3.ListCount - 1, 1) = i
        End If
    Next
End Sub
Private Sub CommandButton3_Click()
    Unload Me
    agregar.Show
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas