Ligar un ComboBox con una etiqueta de texto en un "UserForm"

Espero que te encuentres muy bien.

Tengo una duda amigo, ¿cómo puedo ligar un ComboBox con una etiqueta de texto en un UserForm?, tengo un listado de proveedores en la hoja1 de mi archivo, en la posición "A1" el numero de proveedor y en "B1" el nombre del proveedor, y tengo un Userform que contiene un ComboBox donde el usuario deberá de ingresar el numero de proveedor y también contiene una etiqueta de texto donde necesito que aparezca el nombre del proveedor correspondiente al numero escrito en el ComboBox.

2

2 Respuestas

27.210 pts. Preguntas incompletas merecen respuestas incompletas.

Necesitas un ComboBox, un Label y un CommandButton en tu UserForm para este código.

El Combobox debe tener en su propiedad RowSource A1:A5, por ejemplo, para que cargue tu lista de proveedores.

Por lo demás, cuando le des al botón de Buscar, te mostrará si hay un proveedor coincidente.

El rango a1:a100 que ves en el código también puedes ajustarlo para que se ciña lo más posible a tu lista, así no hace trabajo en balde.

Private Sub CommandButton1_Click()
Label1.Caption = "No encontrado."
For Each cell In Range("a1:a100")
    If cell.Value = ComboBox1.Text Then
        Label1.Caption = cell.Offset(0, 1).Value
    End If
Next
End Sub

Si pones el código del ejemplo en el evento ComboBox1. Change () el resultado es incluso mejor, y te ahorras el botón de Buscar, ya es cuestión de gustos.

Muchas gracias Manuel por tu pronta respuesta, saludos...!!

Manuel, como puedo hacer que el Range("a1:a100") lo busque en una hoja en especifico llamada variables?

Saludos...!!

For Each cell In Worksheets("variable").Range("a1:a100")

Sustituya la linea del For por la de arriba.

3.700.775 pts. Si me amas, siempre voy a estar en tu corazón; si me...

Te anexo la macro:

Private Sub CommandButton1_Click()
'Por.Dante Amor (DAM)
    Label1 = ""
    Set b = Columns("A").Find(ComboBox1, lookat:=xlWhole)
    If Not Columns("A").Find(ComboBox1, lookat:=xlWhole) Is Nothing Then
        Label1 = Cells(b.Row, "B")
    Else
        MsgBox "Proveedor no existe"
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas