BUSCARV es una de las funciones más importantes en Excel, ya que tiene como finalidad encontrar datos en una tabla o rango de celdas. Esta función depende de 4 argumentos para que la función pueda encontrar la ubicación de la celda, en donde se ubica el dato.
1. Valor_buscado: debe contener un indicador que sirva para reconocer la el valor buscado.
2. Matriz_buscar_en: es el rango de la tabla en donde se encuentre el valor buscado.
3. Indicador_columnas: es la columna en la que se encuentre el valor buscado
4. Ordenado: tenemos 2 opciones 1/VERDADERO, el cual indica que no podría encontrar un dato o uno similar; por otro lado, tenemos la opción 0/FALSO, la cual nos indica que solo coincidirá con el dato exacto.
La función tiene como finalidad la búsqueda de un dato, a partir de ciertas “coordenadas” que nos permitan hallar la ubicación del dato buscado.
En caso desees revisar el detalle completo de esta función visita: BUSCARV
Uso de la función Buscarv
Las dos maneras de usar la función BUSCARV como fórmula de Excel.
Primera: En la celda donde queramos que se refleje el dato buscado colocamos la fórmula, siguiendo la sintaxis:
“=BUSCARV(valor_buscado(celda);Matriz_Buscar_en(rango);Indicador_columnas(#de la columna);Ordenado(VERDADERO/FALSO))”
Por ejemplo:
Contamos con la siguiente tabla
Ahora en la celda en donde queremos que se ubique el valor buscado la seleccionamos y colocamos los datos necesitados.
Vemos que la colocar "=BUSCARV(" automáticamente nos aparece la ayuda que nos recuerda los 4 argumentos que debemos colocar.
En este caso el (valor_buscado) es el código del trabajador, la (matriz_buscar_en) es A3:D12, el (indicador_columnas) es la tercera columna y el (ordenado) es FALSO.
Segunda forma:
Nos dirigimos a “Mas funciones” o "insertar función" en la barra de herramientas del Excel.
Luego, nos saldrá una ventana para buscar cualquier función disponible en la base de dato, colocamos “BUSCARV” y le damos aceptar.
Finalmente completamos todos los argumentos requeridos por el BUSCARV
En caso desees revisar con mayor detalle como utilizar esta función visita: BUSCARV
Uso de Buscarv con VBA
Una vez conocido el concepto de la función BUSCARV; ahora veamos la opción de utilizar esta función con el editor VBA (Visual Basic); en el cual, mediante el uso códigos, nos permite obtener el mismo resultado.
Recomendación: En caso no tenga activado el Programador/Desarrollador, consultar el siguiente enlace: Introducción a VBA, en donde podrá ver los pasos para habilitar la ficha programador y crear un módulo en el que se encontrará la macros a usar en los siguientes pasos.
En la “Programador o Desarrollador”, nos dirigimos a la opción “Visual Basic”, una vez que le demos click nos dirigirá al editor. En la parte superior izquierda encontraremos el explorador de proyectos.
Creamos un nuevo módulo, dándole click derecho a la carpeta “Módulos” >> insertar >> módulo.
Colocamos el siguiente código, en el cual destaca la función Vlookup, ya que es la referente a BUSCARV en el código de VBA.
El código también emplea los 4 argumentos solicitados por la fórmula de Excel;
Valor buscado
Matriz empleada
Orden de la columna
FALSO(0)/VERDADERO(1)
Sin embargo, se emplearon Variables como “Valorb”, “Descuento”, “FinalRow” y “PRange” para facilitar la lectura del código, ya que a estas variables se les asigno un valor al inicio de la macro.
Ejemplo de Buscarv con VBA
Sub BUSCARV ()
Dim Valorb
Dim Descuento
Dim FinalRow As Long
Dim PRange As Range
'la variable Valorb es aquella que contendrá la ubicación del valor correspondiente a la misma fila del valor buscado.
'la variable Descuento es la que contiene la función Vlookup, aquella que nos permitirá ingresar los 4 argumentos de la función BUSCARV.
Sheets("Hoja1").Select
Valorb = Sheets("Hoja1").Range("H16").Value
'se necesita de la expresión Application para que la función Vlookup funcione.
'la variable FinalRow abarca hasta la ultima fila (llena)
FinalRow = Worksheets("Hoja1").Cells(Rows.Count, 1).End(xlUp).Row
'La variable PRange reselecciona todos los datos de la tabla desde la celda (3,1) hasta la ultima fila y la columna 4).
Set PRange = Cells(3, 1).Resize(FinalRow, 4)
Descuento = Application.Vlookup(Valorb, Range("A3:D12"), 3, 0)
'Por último, le otorgamos el a la celda H17 el valor de la variable Descuento, más el signo de porcentaje.
Range("h17").Value = Descuento & "%"
End Sub
Por ultimo agregamos un botón que nos dirija a la macro “BUSCARV”. Ese botón lo podemos hallar en la opción Desarrollador/Programador en la sección “Insertar” y se abrirá la sección de “Controles de formulario”.
En el siguiente enlace se puede descargar el ejemplo mostrado: Buscarv con VBA Ejemplo
Creado por: Camila Ines Poma Ticona
19/12/2021 a las 7:25 pm
Hola... todo muy bonito si...
pero como hago para poder trabajar con códigos de barras que trabaja con números de 13 dígitos, y el buscarV no me funciona creo que debe de ser por el tipo de variable peor no se cual usar
04/05/2022 a las 7:29 am
si es un simple codigo de barras tratalo como una cadena , es decir si no vas ha acer operaciones con el , de lo contrario usa long o variant
18/01/2022 a las 11:36 am
Hola, soy muy muy nuevo en vba y tengo una duda con esta macro ya que no me funciona con un archivo. ¿El nombre del archivo donde vamos a buscar los datos puede tener un espacio? Es decir, llamarse ejemplo ejemplo.xlsx, o debe ser ejemplo_ejemplo? Si lo pongo de esta forma sí funciona pero si no no
09/10/2022 a las 8:00 am
El nombre del archivo no tiene nada que ver
31/08/2022 a las 8:35 am
Hola ¿Qué tal? Excelente aporte, muy práctico y bien explicado,gracias.
Tengo una duda ¿Si quiero hacer buscarv (o vlookup) en vba pero teniendo en cuenta dos conceptos? ¿Cómo modificaría el código?
Muchas gracias.
03/03/2023 a las 11:59 am
Hola, en caso de que el buscarV me de un error: #N/D, "VALOR ¿cómo hacer para que me de un MsgBox diciendo que el valor no fue encontrado?