¿Alguna vez quisiste filtrar una tabla de valores mientras ibas escribiendo sin la necesidad de usar la barra de filtros? Si la respuesta es si aquí te tengo un simple truco con solo una línea de VBA y una barra de Texto.
1. Configurar nuestra tabla.
Como ejemplo simple, colocare una tabla con los estados de la republica mexicana. Convierte este rango en una tabla y la nombrare ESTADOS.
2. La barra de texto.
Para continuar, insertaremos una barra de texto desde el menú Desarrollador. Para hacer esto, seleccionaremos la opción Desarrollador en la cinta de opciones y daremos click en el botón Insertar, para después seleccionar el control TextBox en las opciones ActiveX.
3. Configurando la barra de Texto.
Una vez insertada, daremos click derecho sobre el Textbox e iremos a sus propiedades. Dentro de esta barra buscaremos la propiedad que dice linkcell y escribiremos la dirección de una celda. En mi caso escogí la celda F1.
4. El código VBA.
Todo listo para escribir la línea de código.
Daremos click derecho una vez mas en la Textbox y ahora iremos a donde dice “ver código”, lo que nos llevara a la pantalla de Visual Basic y al evento change. Entre el Sub y el End Sub escribiremos lo siguiente.
ActiveSheet.ListObjects("ESTADOS").Range.AutoFilter Field:=1, Criteria1:="*" & [F1] & "*", Operator:=xlFilterValues
¡Todo listo! Ahora regresamos a la hoja, desactivamos el modo de Diseñador en la pestaña de Desarrollador y empezamos a escribir.
Diviértete sorprendiendo a todos con este truco que puede resultar muy útil con Dashboards y ayudando a las personas a visualizar mejor sus datos.
Nos leemos abajo.