Vba macro vlookup excel

Buen día.
Quisiera saber cual es código de vlookup, para no tener que invocar la application.Worksheet, al hacer esto (osea usar el código), ¿trabajaría menos la máquina?
Gracias por la atención
Atentamente,
Víctor

1 respuesta

Respuesta
1
Entiendo que querés obtener el dato buscado, sin necesidad de colocar la función BUSCARV (o Vlookup).
Si esto es correcto, aquí te dejo un ejemplo:
Para una función que sería: =BUSCARV(A2;Hoja2!A2:C30;3;falso) esta es la rutina
Sub buscoDato()
'x Elsamatilde
dato = Range("A2")
Set busco = Sheets("Hoja2").Range("A2:C30").Find(dato, lookin:=xlvalues, lookat:=xlwhole)
'si encuentra el dato muestra el contenido de la col C, sinó lo deja vacío
if not busco is nothing then
resultado = busco.offset(0,2)
else
resultado = ""
end if
'libero la variable
set busco = nothing
'muestro el resultado-OPCIONAL
msgbox resultado
end sub
PD) Ajustá tus referencias, pruébala y comentame. Puede haber algún error de sintaxis ya que lo estoy escribiendo aquí mismo.
PD2) En mis manuales Programación o 400Macros encontrarás más ejemplos del uso de Set
Te recuerdo que la consulta sigue abierta.
Si necesitas alguna aclaración podes solicitarla desde el botón correspondiente, de lo contrario FINALIZA la consulta
Sdos
Elsa
Antes que nada, te ido un millón de disculpas Elsa, he estado bastante ocupado estos días.
Bueno te cuento que coloque info en el rango de búsqueda (hoja2, a2:c30), y puse en la hoja 1 donde esta el código en la celda a2 un dato que esta en la primera columna del rango de búsqueda. Y me sale el mensaje vacío.
Una vez más un millón de disculpas por no responderte antes.
Atentamente,
Víctor
Buen día Elsa.
Otro millón pero de gracias.
Ya corregí el código, en el offset seria (0,1), pues quiero ver el dato de al costado, SI manejo este dato (x, y) el "y" puedo indicar a que columna del rango busco, osea buscarv y si manejo el x, entonces tengo el buscar
No me queda claro toda la sintaxis del método .find.
expresión.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
Podrias por favro explicarmelo.
Pero bueno ya estoy finalizando lanzare la pregunta después.
Saludos
Víctor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas