Función VLOOKUP en VBA
Presentaremos cómo usar VLOOKUP
en VBA con ejemplos.
Utilice la función VLOOKUP()
en VBA
En Excel, podemos usar la función VLOOKUP()
para buscar un valor en una matriz y devolver su valor comparable desde otra columna. El valor que queremos ver debe existir en la primera columna.
También tenemos que indicar nuestros requisitos, si queremos una combinación perfecta o la más cercana al valor. Podemos acceder a VLOOKUP
usando la hoja de trabajo.
Sintaxis:
# VBA
VLOOKUP(search_value,range,returnIndex_num,[lookupRange])
El search_value
significa el valor que queremos buscar. El range
es el rango en el que estamos trabajando, returnIndex_num
es el número de columna desde donde queremos el valor de retorno y lookupRange
indica si la coincidencia es perfecta o cercana.
Hay dos posibilidades para lookupRange
, que puede ser true
o false
, o 0
o 1
.
Código:
#VBA
Application.WorksheetFunction.vlookup(search_value,range,returnIndex_num,[lookupRange])
Pongamos ejemplos e intentemos encontrar algunos datos de ellos. Tenemos datos que contienen el ID
de los freelancers, Names
, y Projects Submitted
.
Si queremos buscar proyectos realizados por freelancers con ID 4
, tenemos que encontrarlos usando la función vlookup()
en VBA.
Primero, abrimos el editor de VBA presionando las teclas ALT + F11 y creamos un nuevo módulo desde Insertar > Módulo
. A continuación, creamos un nuevo sub lookForProj()
y asignamos variables para freelancer_id
y projects completed
.
También estableceremos un rango en el que queremos encontrar al freelancer.
Código:
#VBA
Sub lookForProj()
Dim freelancer_id As Long
Dim projects As Long
freelancer_id = 4
Set newRange = Range("A2:C6")
projects = Application.WorksheetFunction.VLookup(freelancer_id, newRange, 3, False)
MsgBox "Freelancer with ID: " & freelancer_id & " completed " & projects & " projects"
End Sub
Producción:
Mostremos otro ejemplo. Considere los datos que contienen los nombres de los productos y sus ventas, y suponga que hemos agregado estos datos en las columnas B
y C
.
Queremos buscar el número de ventas de un producto usando la función vlookup()
. Primero, vamos a crear un nuevo módulo desde Insertar > Módulo
y crear un nuevo sub, buscarVentas()
.
Asignaremos variables para product_id
y sales
y estableceremos un rango en el que queremos encontrar al freelancer.
Código:
# VBA
Sub lookForSales()
Dim product_id As Long
Dim sales As Long
product_id = 2
Set newRange = Range("A2:C6")
sales = Application.WorksheetFunction.VLookup(product_id, newRange, 3, False)
MsgBox "Product with ID: " & product_id & " sold " & sales & " times"
End Sub
Producción: