SUSTITUIR formula buscarv por codigo

La quisiera aprender a usar la funcion de buscarv pero en visual basic, esto para no usar muchas formulas en mi libro,

Yo tengo una hoja1 en la celda A1 la cual busco datos de una hoja2 a partir de la segunda col. Con un rango de A10:D500, quisiera devolver el valor en la celda B1

Entonces esto como aplicaria en un codigo y como usar la funcion de bsucav en visual

Osea que lo pueda aplicar de nuevo en otras col y celdas, esto para poder aprender a sustituir la formula por un codigo.

1 respuesta

Respuesta
5

H o l a:

Esta sería la estructura de la fórmula BuscarV (VlookUp)

Sub FuncionBuscarv()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    dato = h1.Range("A1")
    res = Application.VLookup(dato, h2.Range("A10:D500"), 2, False)
    If IsError(res) = True Then
        h1.Range("B1") = "No existe"
    Else
        h1.Range("B1") = res
    End If
End Sub

Pero te recomiendo que utilices el método Find, en este caso, en el objeto "b" tienes el resultado de la búsqueda, en ese objeto tienes la celda encontrada, y puedes obtener la fila (row), la columna (column), el color (interior.colorindex), etc.

Sub MetodoFind()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    dato = h1.Range("A1")
    Set b = h2.Range("A10:D500").Find(dato, lookat:=xlWhole)
    If b Is Nothing Then
        h1.Range("B1") = "No existe"
    Else
        h1.Range("B1") = h2.Cells(b.Row, "B")
    End If
End Sub

':)
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas