¿Cómo puedo hacer que un textbox dentro de un formulario vba capture datos de un rango de celdas disparados por un combobox?

Use la siguiente fórmula, pero el formulario se activa en una hoja y los datos se toman de otra hoja. Y con esta fórmula me captura los datos de la activa que es la abre el formulario

Private Sub ComboBox1_Click()
'por luismondelo
valor = ComboBox1.Value
Set busca = Sheets("hoja1").Range("a1:a100").Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
ubica = busca.Address
TextBox1.Value = Range(ubica).Offset(0, 1)
TextBox2.Value = Range(ubica).Offset(0, 2)
'continuar con otros textbox
'continuar con otros textbox
'continuar con otros textbox
End If
End Sub

3 Respuestas

Respuesta
2

Cambia el evento del combo a Change

Supongo que en la hoja1 tienes tus datos

Utiliza lo siguiente:

Private Sub ComboBox1_Change()
    Set h = Sheets("Hoja1")     'hoja con datos
    'buscar en la columna A
    Set b = h.Columns("A").Find(ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox1.Value = h.Cells(b.Row, "B")    'dato de la columna B
        TextBox2.Value = h. Cells(b. Row, "C") 'dato de la columna C
 'continuar con otros textbox
 'continuar con otros textbox
 'continuar con otros textbox
    End If
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Respuesta

Cambia

 Range(ubica)

por

 Sheets("Datos"). Range(ubica)

reemplazando "Datos" por el nombre real de tu hoja fuente de datos.

Respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas