Llenar Textbox dependiendo de selección de combobox

Tengo un userfom con un ComboBox y un textbox. En el userfom tengo este código

Private Sub UserForm_Initialize()
Dim rango, celda As Range
Set rango = Worksheets("DATOS").Range("B4:B71")
For Each celda In rango
ComboBox1.AddItem celda.Value
Next celda
End Sub

Que me devuelve una lista de datos en el ComboBox en donde puedo elegir.

Necesito que al elegir un dato, en el TextBox2 me aparezca el dato de la columna DE de la misma hoja de donde esta sacando la lista.

¿Me ayudan?

2 respuestas

Respuesta
2

Pon el siguiente código en tu userform:

Private Sub ComboBox1_Change()
  TextBox1.Value = ""
  If ComboBox1.ListIndex > -1 Then
    TextBox1.Value = Sheets("DATOS").Range("D" & ComboBox1.ListIndex + 4)
  End If
End Sub

¡Gracias! dante..!! funciona de maravilla.!!

como funciona esta parte?

Range("D" & ComboBox1.ListIndex + 4)

Cada registro almacenado en el combobox tiene un índice.

El registro 1 del combobox está en el índice 0.

El registro 2 del combobox está en el índice 1.

El registro 3 del combobox está en el índice 2.

Y así sucesivamente.

Entonces si seleccionaste el registro 2 del combo, su índice es el 1. Si a 1 le sumas 4, entonces 5, el 5 corresponde al número de fila, porque tus datos empiezan en la fila 4.

Por lo tanto

Range("D" & ComboBox1.ListIndex + 4)
Range("D" & 1 + 4)
Range("D" & 5)
Range("D5")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas