¿Cómo hacer una búsqueda filtrada instantánea mientras escribe en una celda en Excel?
Este artículo proporciona un método para buscar y filtrar instantáneamente mientras escribe en una celda en Excel.
Búsqueda filtrada instantánea a medida que escribe con código VBA
Búsqueda filtrada instantánea a medida que escribe con código VBA
Como se muestra a continuación, tiene una lista de nombres que desea buscar y filtrar instantáneamente mientras escribe en una celda específica. Por favor, haga lo siguiente para completarlo.
1. En primer lugar, debe crear una tabla con los datos de la lista y nombrar la tabla como "Nombre”. Seleccione la lista completa, haga clic en recuadro > Mesa.
2. En la apertura Crear mesa cuadro de diálogo, haga clic en OK. Ver captura de pantalla:
3. Haga clic en cualquier celda de la tabla para activar la Diseño pestaña, y luego cambie el nombre de la tabla como Nombre existentes Nombre de la tabla caja de texto. Ver captura de pantalla:
4. Hacer clic en Developer > recuadro > Cuadro de texto (control ActiveX) para insertar un cuadro de texto encima de la lista de la tabla como se muestra a continuación:
5. Haga clic derecho en el cuadro de texto y haga clic en Propiedades, En la Propiedades ventana, escriba una referencia de celda en la celda vinculada encajonar.
6. Haga clic derecho en el cuadro de texto y seleccione Ver código desde el menú contextual. Luego reemplace el código original con el siguiente código VBA en el Microsoft Visual Basic para aplicaciones ventana. Ver captura de pantalla:
Código de VBA: búsqueda filtrada instantánea a medida que escribe en Excel
Private Sub TextBox1_Change()
'Update by Extendoffice 2018/08/22
Dim xStr, xName As String
Dim xWS As Worksheet
Dim xRg As Range
On Error GoTo Err01
Application.ScreenUpdating = False
xName = "Name"
xStr = TextBox1.Text
Set xWS = ActiveSheet
Set xRg = xWS.ListObjects(xName).Range
If xStr <> "" Then
xRg.AutoFilter field:=1, Criteria1:="*" & xStr & "*", Operator:=xlFilterValues
Else
xRg.AutoFilter field:=1, Operator:=xlFilterValues
End If
Err01:
Application.ScreenUpdating = True
End Sub
Note: En el código, cuadro de texto1 es el nombre del cuadro de texto insertado, Nombre es el nombre de la lista de la tabla. Puede cambiarlos según sus necesidades.
7. presione el otro + Q llaves para cerrar el Microsoft Visual Basic para aplicaciones ventana.
8. Desactive el modo de diseño haciendo clic en Developer > Modo de diseño.
A partir de ahora, la lista de la tabla se buscará y se filtrará instantáneamente según el valor ingresado en el cuadro de texto. Ver captura de pantalla:
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!