Usar vlookup con el ítem de una columna concreta desde listbox de varias columnas al hacer click

Tengo un listbox de 4 columnas del cual me interesa extraer datos a varios textbox pero particularmente con el item de una columna en concreto, en este caso la columna 4, al hacer click en la fila del cuadro de lista.

En otras hojas lo hago sin problemas porque los listbox sólo tienen una columna pero al tener el listbox varias columnas no soy capaz. El ítem buscado está en la columna "D" de la hoja "recetas" y el valor que debe devolver al textbox está en la columna "E".

El código que tengo es el siguiente, mediante vlookup:

Private Sub ListBox1_Click()
Me.ProteínasBox.Value = Application.WorksheetFunction.VLookup(ListBox1.Value, Sheets("Recetas").Range("D:Z"), 2, False)
End Sub

1 respuesta

Respuesta
1

H o l a: Te anexo el código con algunos comentarios

Private Sub ListBox1_Click()
'Por.Dante Amor
    'se obtiene el dato de la columna 4,
    'la 0 es la columna 1, la 1 la col2, la 2 la col3 y la 3 es la columna 4
    dato = ListBox1. List(ListBox1. ListIndex, 3)
    'Se utiliza solamente application para obtener el mensaje de error
    'Si utilizas worksheetfunction y no existe el dato, entonces la macro se detiene
    res = Application.VLookup(dato, Sheets("Recetas").Range("D:Z"), 2, False)
    'Se verifica el contenido de la variable res
    If IsError(res) Then
        MsgBox "El dato no existe", vbExclamation
    Else
        ProteínasBox.Value = res
    End If
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas