Fórmulas Excel: Ejemplos, Tips y Tutoriales para Dominar Excel

Descubre ejemplos prácticos de fórmulas Excel, tutoriales paso a paso y consejos para optimizar tu trabajo con hojas de cálculo. ¡Aprende a dominar Excel fácilmente!

  • Home
  • Descargas
  • App a Medida
  • Sobre mi
  • Contacto
  • FAQ

Como hacer un buscador en excel

Nolberto Lopez 38 comentarios

Tienes una enorme tabla de registros contables y necesitas buscar los información que coincida con cierto croterio, un Buscador en Excel es la solución, en este caso mediante el uso de filtro avanzado con VBA, la idea es que al teclear, de manera automática se muestren solo los registros que coinciden con lo tecleado.

Aplicaciones contables en excel

Descargar MegaPack Contable en Excel

Como hacer un buscador en Excel para contactos

En este ejemplo veremos como hacer un buscador en excel mediante vba, esto con el fin de poder hacer búsquedas rápidas en una tabla de contactos.

buscador-excel-vba-contactos

Tutorial sobre como hacer un buscador en Excel

Actualización 14-11-2023

Ahora cualquier cosa que teclees se buscara en todas las columnas de la tabla.

Link de descarga al final del post.

Definir rango de criterios

Para el filtro avanzado, necesitamos definir un rango de criterios, en este caso el rango sera B2:B3

Para esto hacemos lo siguiente:

  1. Click en la pestaña “formulas”, en la cinta de opciones de excel
  2. Click en administrador de nombres
  3. Click en nuevo
  4. tecleamos el nombre deseado, en este caso “Criterios”
  5. Damos click el el botón “se refiere a:” y seleccionamos el rango de celdas B2:B3
  6. Aceptar.

Definir rango de datos a filtrar

El rango de datos a filtrar es la tabla que contiene la informacion de los contactos, en este caso también le daremos un nombre como en el paso anterior, pero como esta tabla ira creciendo con los nuevos registros, es importante que el nombre que definamos tome de manera automática esos datos nuevos.

  1. Click en la pestaña “formulas”, en la cinta de opciones de excel
  2. Click en administrador de nombres
  3. Click en nuevo
  4. tecleamos el nombre deseado, en este caso “Datos”
  5. En el campo “se refiere a:” ponemos esta formula =DESREF(Contactos!$A$6,,,CONTARA(Contactos!$A$6:$A$1048576),5)
  6. Aceptar.

Para mas informacion sobre este ultimo caso, puedes ver el post sobre listas y rangos dinámicos que publique hace tiempo.

Código VBA para el filtro avanzado

El siguiente código es el que filtrara los datos cuando se teclee algo en la celda B3

Option Explicit

Sub FiltraDatos()
  Range("Datos").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("Criterios"),   Unique:=False
End Sub

Si vemos el código, en este se hace uso de los nombres de rango que se definieron anteriormente.

Programar evento que se ejecutara al momento de cambiar la celda B3

Para que el código anterior se ejecute al hacer un cambio en B3, es necesario programar el evento Change en la hoja de datos.

Para esto damos click derecho en la pestaña con el nombre de la hoja de datos/ ver código, en la ventana que sale ponemos este código.

Private Sub Worksheet_Change(ByVal Target As Range)
  Application.ScreenUpdating = False
  On Error GoTo casoerror
  If Target.Address = "$B$3" And Target.Value <> "" Then
    Call FiltraDatos
  End If

  If Target.Address = "$B$3" And Target.Value = "" Then
    ActiveSheet.ShowAllData
  End If

  Application.ScreenUpdating = False
  Exit Sub

  casoerror:
  Application.ScreenUpdating = False
End Sub

Lo que hace el código anterior es básicamente comprobar si la celda que se esta modificando es B3, en ese caso se ejecuta la función de filtrado, si al modificar la celda B3 se esta borrando el texto, se debe mostrar de nuevo toda la informacion de la tabla, es decir, se elimina el filtro aplicado.

Ejecutar filtro al teclear

Hasta el código que tenemos ahora, el filtro se ejecuta luego de dar enter al estar tecleando en B3, pero también es posible que el filtro se genere automáticamente con cada tecleo en B3, es decir, de ese modo los datos que coinciden se van mostrando conforme se va tecleando.

Para lograr esto, ponemos un cuadro de texto justo encima de B3.

vba-textbox

  1. Click en la ficha “Desarrollador”
  2. Insertar
  3. En la seccion de Controles Activex, damos click en Cuadro de texto
  4. Dibujar cuadro de texto encima de B3

Luego de dibujar el cuadro de texto, dar click derecho sobre el/ ver código y escribimos lo siguiente:

Private Sub TextBox1_Change()
  Range("B3") = TextBox1
End Sub

Finalmente vamos a la hoja excel y desactivamos el modo diseño en la ficha “Desarrollador”

Con ese código, cada vez que tecleamos en el cuadro de texto, eso mismo se repetirá en la celda B3, lo cual luego hace que se ejecute el filtro.

buscador-excel-vba-filtro-textbox

Uso de comodín para buscador en excel

Es probable que tengas una gran tabla de datos y no estés seguro de como aparece el dato buscado, pero si recuerdas parte del mimos, para estos casos puedes usar el * justo al inicio del texto buscado, de ese modo se filtraran los registros que contenga ese texto, esto sin importar en que parte de la cadena se encuentra.

vba-filtro-comodin

Como puedes ver, con muy poco código es posible crear un potente buscador en excel con el uso de filtro avanzado y VBA.

Descargar buscador en excel

Categoría: Videotutoriales

  1. Aplicación a Medida
  2. MegaPack contable en excel
  3. Nómina en excel
  4. Control de CFDI en excel
  5. Control de CFDI de Nomina en excel
  6. Contabilidad electrónica en excel
  7. Sistema contable en excel
  8. Cuentas por cobrar en excel
  9. Pago a proveedores en excel
  10. Ingresos y Egresos en excel
  11. Vacaciones de empleados en excel
  12. Inventarios en excel
  13. Agenda en excel
  14. Conciliación bancaria en excel
  15. Bancos en excel
Aprender Excel Gratis:
  • Facebook
  • Instagram
  • TikTok
  • Twitter
  • WhatsApp
  • Youtube

Acerca de Nolberto Lopez

Experto en Microsoft Excel. Desarrollador de aplicaciones en Excel con VBA. Autor del sitio formulasexcel.com

« Suscripción de por Vida AppsFX
Descargar Apps Contables en Excel »

Comentarios

  1. Orlando dice

    octubre 24, 2023 en 5:48 pm

    A la hora de intentar realizar el filtro, me aparece un error “No se ha definido la variable”. Copié el código tal cual:

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = “B$6$” And Target.Value “” Then
    Call FiltraDatos
    End If

    If Target.Address = “B$6$” And Target.Value = “” Then
    ActivateSheet.ShowAllData
    End If
    End Sub

    Responder
  2. Abimael Rodriguez M. dice

    octubre 5, 2021 en 9:44 pm

    buenas tardes, mi preguntas

    Cuales serian las formulas en excel si lo tengo en ingles?

    es que no se cual sea el simil en ingles

    saludos

    Responder
    • Alexia Gonzalez dice

      agosto 28, 2024 en 11:13 pm

      la formula de desref en ingles es OFFSET, si no me equivoco

      Responder
  3. Tania dice

    julio 9, 2021 en 4:05 pm

    Excelente aporte, justo lo que buscaba me sera de mucha utilidad sin duda me convierto en seguidora de esta página.

    Gracias por compartir!!

    Saludos desde México

    Responder
  4. cuadro de busqueda en excel dice

    marzo 30, 2021 en 12:23 pm

    Excelente trabajo. Gracias, Un saludo

    Responder
  5. Mario Herrera dice

    noviembre 27, 2020 en 8:18 pm

    Gracias por estos conocimientos MUY UTILES
    Un Saludo desde El Salvador.

    Responder
  6. Julian dice

    octubre 14, 2020 en 3:42 pm

    Hola: Buenos días. Me anda muy bien. Lo unico que me gustaria mejorar es cuando los nombres estan compuestos, es decir nombre y apellido por ejemplo ” Mario Ribotric” si tipeo Ribotric no me lo busca.
    Muchas gracias

    Responder
  7. Miguel dice

    julio 7, 2020 en 9:45 am

    Buenas noches, no funciona si reemplazo los nombres por números. Ejm reemplazo un nombre por este 1345-2019 y luego le pongo buscar pero no lo encuentra.

    Responder
  8. hector dice

    mayo 27, 2020 en 4:18 am

    tremendo trabajo el que haz realizado.

    Mi consulta va en como se podrían agregar columnas / o modificar las que existen para que las incluya en la busqueda?

    Responder
  9. Sandra Giraldo dice

    mayo 21, 2020 en 3:27 pm

    Hola, como estas.
    esta super esta herramienta, quisiera saber como puedo hacer, para tener dos opciones de buscador en la misma hoja, es decir que pueda buscar por un criterio u otro. Como en el ejemplo que pones, pero que pudiera decidir si quiero buscar por nombre o por ciudad por ejemplo.
    quedo atenta, mil gracias!

    Responder
  10. Joel Contreras dice

    abril 11, 2020 en 9:28 pm

    Buenas tardes Nolberto Lopez,

    De antemano agradezco mucho la ayuda que proporcionas con esto me ha sido muy funcional, si de algo sirve… En la celda B2, tiene que escribir el nombre de la columna que van a utilizar para la búsqueda.
    Saludos

    Responder
  11. Alejandro Hernández dice

    abril 2, 2020 en 11:06 am

    Excelente aporte, funciona perfectamente no obstante tengo una consulta.
    Tengo dos hojas una para Clientes y otra para Productos, he creado un buscador para cada hoja pero en la segunda que he creado con el mismo proceso que la primera me dá un error:

    Se ha detectado un nombre ambiguo “FiltrarDatos”.

    Sale dentro del código:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    On Error GoTo casoerror
    If Target.Address = “$G$5” And Target.Value “” Then
    Call FiltraDatos
    End If

    Responder
  12. Luis dice

    marzo 21, 2020 en 4:03 pm

    Hola! tengo el problema que al ingresar texto en la TextBox, solo me muestra la primer fila de la tabla… Alguna solucion?

    Responder
    • Agustin dice

      septiembre 29, 2020 en 7:01 pm

      Me pasa lo mismo, alguna solucion?

      Gracias!

      Responder
      • Marco dice

        febrero 1, 2021 en 6:43 pm

        yo igual, ya no sé que hacer

        Responder
  13. Andrés G dice

    marzo 5, 2020 en 9:26 am

    Buenas lo he realizado todo y me hace el filtro avanzado pero solo muestra la primera fila de la tabla, sea cual sea el criterio a buscar. Podrías orientarme??

    Responder
    • Nolberto Lopez dice

      marzo 6, 2020 en 4:37 pm

      Abría que ver su código, mi sugerencia es que descargue el ejemplo de esta pagina.

      Responder
  14. Alfredo dice

    febrero 7, 2020 en 5:07 am

    No se ejecuta y me dice error 1004 range de objeto global, como lo soluciono

    Responder
    • Nolberto Lopez dice

      febrero 10, 2020 en 7:07 pm

      Saludos Alfredo.

      Aquí seria importante que comparta su código y también indicar en que linea le da el error.

      Responder
  15. jhonathan dice

    enero 31, 2020 en 7:52 pm

    Excelente aporte, yo lo hice con mas datos. Lo que no encontré es la manera de proteger los datos. Solo dejar visible y editable el botón.

    Responder
  16. Juan Pablo Humani dice

    septiembre 25, 2019 en 2:58 pm

    Hola buenos días como estas todo bien? Estoy intentando utilizar este buscador para un archivo que es un padrón de impuestos de Argentina. Un ejemplo de fila sería:

    22082019 1092019 30092019 20000163989 D S N 0,00 0,00 0 0

    Lo que quiero es un buscador para ingresar valores que aparecen en la columna 3 y que devuelva el valor de la 7 o sino la fila completa.

    Desde ya espero tu respuesta. GRACIAS!!!

    Juan Pablo

    Responder
  17. gregorio dice

    agosto 21, 2019 en 2:52 pm

    Sigo los pasos y no me corre el aplicativo en excel al seleccionar un nombre y dar enter en B3, agradezco el apoyo por favor que me puedas brindar, incluso lo hice con solo tres contactos y nada…

    Saludos…

    Responder
    • carlos dice

      septiembre 11, 2019 en 7:06 pm

      Hola amigo revisa tus variables, si lo estas realizado con el mismo nombre como en el video, podrias enviar tu imagen para que pueda ayudarte

      Responder
    • Nolberto Lopez dice

      septiembre 13, 2019 en 2:44 pm

      Saludos Carlos.

      Sin ver el código que usted escribió no hay manera de saber donde esta el problema.

      Evidentemente lo que usted debe hacer ahora es seguir de nuevo todo el proceso.

      Otra opción es que descargue el ejemplo.

      Responder
  18. Mario Medina dice

    julio 22, 2019 en 2:51 pm

    Hola buenas, estoy intentando hacer el buscador, pero al efectuar el filtro, no filtra lo que estoy escribiendo solo me aparece la primera fila de la bases de datos que tengo, o sea solo el primer dato.
    agradeceria si me pudiera ayudar.

    Responder
    • Patricia dice

      octubre 7, 2020 en 9:50 pm

      A mi me pasó lo mismo y he visto que a mucha gente también pero ya he descubierto la solución. Me rompí la cabeza analizándolo todo (código, funciones, nombre de hoja, etc) una y otra vez sin ver el video.

      El problema no está ni en el código ni en la función DESREF utilizada en la asignación de nombres, sino en un pequeño detalle que se nombra en el video como de pasada y que no está escrito en esta entrada: la celda B2 situada encima del TextBox tiene que coincidir con el título de la columna en la que se hace la búsqueda.

      Esta es la clave. Espero haya servido de ayuda a alguien 😉

      Responder
      • Tania dice

        julio 9, 2021 en 4:02 pm

        wow!! genial mil gracias!!!!

        Responder
      • marioTabasco dice

        febrero 10, 2023 en 12:57 am

        ¡Excelente aclaración. Saludos!

        Responder
  19. Marcos dice

    junio 24, 2019 en 5:43 pm

    Buenos dias, al filtrar no me va mostrarndo los resultados conforma escribo, solo me muestra el resultado concreto al terminar de escribir. Gracias

    Responder
  20. Oscar molina dice

    abril 20, 2019 en 7:22 pm

    hola quiero consultar si se puede concatenar el filtrado de varias hojas o todo el libro gracias…

    Responder
  21. esegovia dice

    septiembre 21, 2018 en 9:03 pm

    Gracias por tan útiles tips. Saludos.

    Responder
  22. LUIS M. HERNANDEZ dice

    septiembre 10, 2018 en 4:55 am

    HOLA, MAGNIFICO Y LO DESCARGUE PERO AL AMPLIAR LOS RENGLONES A MAS DE 4000, SE PONE MUY LENTO Y NO REGRESA AL PRIMER RENGLON.

    PODRIAS DECIRME QUE NO ESTOY HACIENDO BIEN? GRACIAS

    Responder
  23. Ismael dice

    septiembre 7, 2018 en 5:55 pm

    Muchas gracias… excelente aporte, se podrá agregar mas de un filtro avanzado en la misma hoja??

    Responder
  24. Adrian Bonfrisco dice

    abril 4, 2018 en 3:53 pm

    Buenas.
    Muchas gracias por las ayudas en esta pagina y los tips.
    Estoy intentando armar el buscador en una lista de precios.
    Cuando quiero definir el rango de los datos a filtrar, me tira un error en la formula.
    A continuación te dejo mi formula: =desref(Precios!$A$5,,,contara(Precios!$A$5:$A$500),6)

    Cuando al error le doy aceptar, me deja pintado esto ” $A$5,,,contara “.

    He probado mil cosas, y no logro que me la acepte. Capaz me puede ayudar.
    Utilizo Excel 2010.

    Muchas gracias desde ya.

    Responder
    • Santiago dice

      febrero 28, 2019 en 3:49 pm

      Tienes que utilizar ; en lugar de ,

      Responder
  25. Hugo Salinas dice

    marzo 29, 2018 en 11:27 pm

    Que tal ingeniero, muy buen aporte, tengo una duda, al realizar el ejemplo me sale este error

    Run time Error ‘1004’
    Method ‘Range’ of object ‘_Global’ failed

    Cree una base de datos propia y tanto la columna de datos como la celda de criterios la llame igual que en tu ejemplo, entonces al insertar el modulo y correr mi programa no funciona y me envía el error señalado
    el código es claro el mismo que tu pusiste

    Sub FiltraDatos()
    Range(“Datos”).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range(“Criterios”), Unique:=False
    End Sub

    Responder
  26. Danilo dice

    diciembre 18, 2016 en 12:11 am

    Excelente ejercicio.
    Gracias por compartir tus AMPLIOS conocimientos.
    Saludos!!!!
    Danilo

    Responder
  27. Danilo dice

    octubre 20, 2016 en 9:16 pm

    Excelente ejercicio.

    Como siempre no dejas nada para las dudas.
    Danilo

    Responder

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ponte en contacto conmigo para definir detalles de tu nuevo proyecto.

Contactar
  • INICIO
  • CONTACTO
  • CONTABLES
  • VIDEOS
  • CATEGORIAS
  • VBA EXCEL
  • Política de privacidad

Copyright © 2026 · Formulas Excel · by Nolberto Lopez

Copyright © 2026

Aplicaciones contables en excel

Descargar MegaPack de 14 Apps Contables en Excel


Powered by Joinchat
Hola
¿En qué podemos ayudarte?
Abrir chat