Función BuscarV con Macros & Formulas

Función BuscarV: En esta macro lo que debemos encontrar es el valor que le corresponde a otro dato, según sea la base de datos, dentro de una celda de una Hoja lo podemos hacer con la función BUSCARV, pero la pregunta es:

¿Cómo podemos hacer esa función con Macros o con código VBA?

Pues acá te dejare a continuación la respuesta a esta pregunta, la única diferencia será que el código está en Ingles y su nombre será VLOOKUP.

A continuación, les dejo la Imagen, el cual es la hoja donde trabajaremos con la Función BUSCARV CON MACROS, pero en esta ocasión solo queremos buscar los registros “Nombre del Cliente, Fecha de Ingreso, País e Importe sabiendo únicamente el Numero del Cliente o también podría ser “DNI, DUI, CODIGO”.

Lo único que debes de hacer es que en la Columna del CODIGO colocar el Código de Cliente, y los demás campos los buscara automáticamente dando solo un Click en el botón “Buscar Datos”, y con el Botón “Limpiar Campos” borrara la zona donde hayamos ingresado  datos, y así ingresar nuevos registros.

En la Siguiente Imagen, es la hoja donde trabajaremos con la Función BUSCARV CON FORMULAS, al igual buscaremos los registro “Nombre del Cliente, Fecha de Ingreso, País e Importe sabiendo únicamente el Numero del Cliente o también podría ser “DNI, DUI, CODIGO” u otro.

Esta es la principal función BuscaV en una hoja de cálculo de Excel, ya que es formula ya la trae implementada Microsoft Excel para ser usado por cualquier usuario….

Como vimos anterior mente en las imágenes podemos crear nuestras fórmulas de forma Manual o también en VBA con una simple y sencilla Macro que automatice el proceso:

En la Función BUSCARV con macros vamos utilizar esta macro:

Sub BuscarDatos()

Seleccionamos la hoja de la Búsqueda y limpiamos las celdas que tengan datos para ingreso de nuevos datos o solo actualizarlos.

Worksheets(“BuscarVmacros”).Select

limpiardatos = Application.CountA(Worksheets(“BuscarVmacros”).Range(“A:A”))

Sheets(“BuscarVmacros”).Range(“B3:E” & limpiardatos).ClearContents

Determinamos la longitud del rango de los datos a buscar es donde la referencia a buscar…

fin = Application.CountA(Worksheets(“BuscarVmacros”).Range(“a:a”))

Buscamos el valor Nombre del Cliente en la Columna 2

With Worksheets(“BuscarVmacros”).Range(“B3:B” & fin)

   .Formula = “=IF(ISERROR(VLOOKUP(RC[-1],Base!R2C1:R51C9,2,FALSE)),””””,VLOOKUP(RC[-1],Base!R2C1:R51C9,2,FALSE))”

   .Formula = .Value

End With

Buscamos el valor Fecha de Ingreso en la Columna 3

With Worksheets(“BuscarVmacros”).Range(“C3:C” & fin)

   .Formula = “=IF(ISERROR(VLOOKUP(RC[-2],Base!R2C1:R51C9,3,FALSE)),””””,VLOOKUP(RC[-2],Base!R2C1:R51C9,3,FALSE))”

   .Formula = .Value

End With

Buscamos el valor Región o País en la Columna 6

With Worksheets(“BuscarVmacros”).Range(“D3:D” & fin)

   .Formula = “=IF(ISERROR(VLOOKUP(RC[-3],Base!R2C1:R51C9,6,FALSE)),””””,VLOOKUP(RC[-3],Base!R2C1:R51C9,6,FALSE))”

   .Formula = .Value

End With

Buscamos el valor Importe en la Columna 7

With Worksheets(“BuscarVmacros”).Range(“E3:E” & fin)

   .Formula = “=IF(ISERROR(VLOOKUP(RC[-4],Base!R2C1:R51C9,7,FALSE)),””””,VLOOKUP(RC[-4],Base!R2C1:R51C9,7,FALSE))”

   .Formula = .Value

End With

End Sub

Nuestro Código se verá Así:

Como tú puedes ver no se trata de hacer macros tan compleja, antes de cada línea de código te he dejado una breve descripción donde te explico cuál es la función que cumple ese código.

Y como ya habéis observado las formulas tanto Manual como en VBA se mantiene su estructura, si vez abajo te dejo las dos Fórmulas que he utilizado para este ejemplo:

Forma Manual:

Código VBA:

Como podéis ver y apreciar la rapidez y potencia de VBA en Excel para realizar el trabajo, ya que a veces es útil para casos muy estandarizados ya que siempre estamos actualizando una y otra vez información en nuestras bases de datos.

Si te ha gustado este Ejemplo y lo quieres tener lo puedes hacer sin ningún problema ya que lo podrás implementar en tu trabajo o para realizar tus pruebas.

Link de descarga de este Ejemplo:    BuscarVMF

 Un corto vídeo de cómo Utilizar estas dos Funciones:   VER VÍDEO

Password VBA: AGUIRRE2018

Comparte este Contenido para que más conozcamos de Excel VBA…


  https://goo.gl/iQRzhu “Canal de Aguirre”

  https://goo.gl/FS4UcZ “Canal MacroExcel” Próximamente todos los vídeos disponibles aquí”

  https://goo.gl/qKpNFe “Pagina Oficial MacroExcel”

  https://goo.gl/cQQ7Gi “Facebook MacroExcel – ME”
❗Recuerda también: contamos con un grupo privado síguenos y envíanos la solicitud si deseas ayuda y aportar en la comunidad “MacroExcel – ME”

Categorías: Vba

1 comentario

Joe · septiembre 19, 2018 a las 11:43 am

Buenos dias.

Como hago para que el buscarv comience desde los datos de la Columna B:B y arroje los datos en C

Deja un comentario

WhatsApp Necesitas Ayuda?
A %d blogueros les gusta esto: