Filtrar filas mientras se escribe – Filtro rápido en Excel – Parte 1
En esta primera parte de este tutorial veremos la manera de filtrar filas de una tabla mediante un Filtro rápido que haremos con la combinación de Filtros en Excel y Macros en lenguaje VBA.
Tenemos una tabla de valores y deseamos que las filas de la tabla se filtren en la base al nombre; conforme vayamos escribiendo en un Cuadro de texto (TextBox1) al momento y de manera dinámica las filas se irán filtrando conforme el texto coincida con el contenido de la columna Nombre.
Cómo funciona
Tenemos una tabla de ejemplo donde la segunda columna es de nombres y es en base a esa columna que deseamos realizar el filtro rápido.
Figura 1. Tabla de ejemplo para aplicar filtro rápido en Excel.
Para realizar el Filtro rápido necesitaremos insertar algunos controles y objetos en la hoja para añadirles interactividad con macros:
-
Un rectángulo que servirá para contener otros controles y tendrá el texto donde se indicará que ingresemos el NOMBRE a filtrar.
-
Cuadro de texto (TextBox1) donde ingresamos el texto a filtrar dinámicamente.
-
Un Botón que servirá para borrar el filtro aplicado y limpiar el contenido del TextBox1.
Ver Video Filtro rápido en Excel PARTE 1
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Para insertar el rectángulo nos dirigimos a la pestaña Insertar > Ilustraciones > Formas > Rectángulo. Y para ingresar el Cuadro de texto y el Botón nos dirigimos a la pestaña Programar > Insertar > Controles ActiveX.
Figura 2. Insertamos Controles ActiveX en la hoja para agregar interactividad con macros.
Una vez que ingresamos el rectángulo y los controles, veremos que tanto el TextBox1 como el Botón se pueden seleccionar para cambiar de posición o para cambiarles el tamaño, así como para poder cambiar sus Propiedades dando clic derecho y eligiendo Propiedades.
Es importante notar que el botón Modo Diseño de la pestaña Programador nos permitirá interactuar con las propiedades de los controles. Si desmarcamos el botón significa que ya podremos interactuar con los controles y sus macros.
Figura 3. El Modo diseño nos permite interactuar con los controles y sus propiedades.
Filtro rápido en acción
La lógica de la macro es Cada vez que ingresemos un texto en el Cuadro de texto se aplicará el filtro a la tabla, filtrando sólo las filas que coincidan con el texto introducido sin importar si el texto está al inicio, en medio o al final. El botón Borrar filtro quitará los filtros aplicados.
Figura 4. Filtrar valores en Excel mientras se escribe.
Código VBA de la macro
Haremos uso del evento Change del TextBox1 para filtrar filtras mientras se escribe.
'EXCELeINFO 'MVP Sergio Alejandro Campos 'http://www.exceleinfo.com 'https://www.youtube.com/user/sergioacamposh 'http://blogs.itpro.es/exceleinfo ' Option Explicit ' Private Sub TextBox1_Change() Dim Criterio As String If Hoja1.TextBox1.Value <> "" Then Criterio = "*" & Hoja1.TextBox1.Value & "*" Range("A9").CurrentRegion.AutoFilter Field:=2, Criteria1:=Criterio Else Criterio = "" Range("A9").CurrentRegion.AutoFilter End If End Sub
El botón Borrar filtro borrará los filtros aplicados.
Private Sub CommandButton1_Click() Range("A9").CurrentRegion.AutoFilter Hoja1.TextBox1.Value = "" End Sub
Descargar el archivo de ejemplo
Filtro rápido en hoja PARTE 1 – EXCELeINFO.zip
Si te gustó este tutorial por favor anótate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.