Hacer la búsqueda de una forma diferente, trate de utilizar código WorksheetFunction.VLookup no me sirvió para lo que quiero.

Solo hace la búsqueda si el dato aparece en la primera columna "como buscarv", pero el problema es que no puedo mover la columna porque la necesito en la tercera posición como mas podría hacer la búsqueda.
Que se haga desde una caja de texto porque se debe introducir el dato, agradecería mucho su ayuda lo necesito realmente.
Private Sub buscar_Click()
On Error Resume Next
nombre.Value = WorksheetFunction.VLookup(Val(id.Value), Sheets(1).Range("A5:D450"), 2, False)
cedula.Value = WorksheetFunction.VLookup(Val(id.Value), Sheets(1).Range("A5:D450"), 3, False)
fecha.Value = WorksheetFunction.VLookup(Val(id.Value), Sheets(1).Range("A5:D450"), 4, False)
End Sub

Respuesta
1

Otra opción es utilizar el método Find( )

Por ejemplo:

Private Sub buscar_Click()
'Por.Dante Amor
    '
    If id.Value = "" Then
        MsgBox "Introduce un ID"
        id.SetFocus
        Exit Sub
    End If
    '
    'establece en el objeto b el resultado de buscar en la columna A
    Set b = Sheets(1).Columns("A").Find(id.Value, lookat:=xlWhole)
    If Not b Is Nothing Then
        'si lo encuentra
        nombre.Value = Cells(b.Row, "B")
        cedula.Value = Cells(b.Row, "C")
        fecha.Value = Cells(b.Row, "D")
    Else
        'si no lo encuentra
        MsgBox "El Id no existe"
    End If
End Sub

Lo que hace el método Find( ) es buscar en  una hoja, en una columna o en un rango y te devuelve el resultado en el objeto b

Si no encuentra el dato, el objeto b es igual a "nothing"

Prueba con este método y me comentas.


Por otra parte, no entendí a qué te refieres con esto:

Pero el problema es que no puedo mover la columna porque la necesito en la tercera posición


.

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

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas