Desarrollando la Aplicación Paso a Paso
Para empezar, descarga la base de datos con la que trabajaremos:
Paso 1: Crea una nueva hoja en tu libro de trabajo y asígnale el nombre: TD.
Paso 2: Ve a la pestaña [Insertar] y selecciona la opción [Tabla Dinámica].
Paso 3: Ingresa los datos solicitados en el cuadro de diálogo:
- En Tabla o Rango, selecciona la tabla de datos utilizando el mouse.
- En ¿Dónde desea colocar el informe de tabla dinámica?, selecciona la celda $B$6 de la hoja TD.
Haz clic en Aceptar.
Paso 4: Arrastra todos los campos necesarios a la sección Filas de la tabla dinámica.
Asegúrate de agregar primero el campo que está relacionado con las palabras clave que deseas buscar. Por ejemplo, si buscas por el nombre de los productos, agrega el campo Producto en primer lugar y luego los demás campos.
Paso 5: Accede a la opción Herramientas de Tabla Dinámica y selecciona como tipo de diseño de informe: Tabular.
Paso 6: Haz clic en la pestaña Analizar (ubicada en la ficha Herramientas de Tabla Dinámica), despliega el menú de la tabla dinámica y cambia el nombre de la tabla dinámica de Tabla dinámica2 a TD_Materiales.
Paso 7: Ve a la ficha Programador (o Desarrollador) y selecciona Insertar. En el menú desplegable, elige el control Cuadro de Texto Activex y dibújalo en la hoja de cálculo.
Paso 8: Selecciona el cuadro de texto que agregaste y abre su panel de propiedades. Busca el atributo Nombre y asígnale el valor: txt_buscador.
Paso 9: Accede al editor de código de VBA. Haz clic derecho sobre el control txt_buscador y selecciona Ver código. Luego, pega el siguiente código en el editor:
Dim valor As String
Private Sub txt_buscador_Change()
If txt_buscador.Text <> "" Then
ActiveSheet.PivotTables("TD_Materiales").PivotFields("Producto").ClearAllFilters
ActiveSheet.PivotTables("TD_Materiales").PivotFields("Producto").PivotFilters _
.Add Type:=xlCaptionContains, Value1:="*" & txt_buscador.Text & "*"
Else
ActiveSheet.PivotTables("TD_Materiales").PivotFields("Producto").ClearAllFilters
ActiveSheet.PivotTables("TD_Materiales").PivotFields("Producto").PivotFilters _
.Add Type:=xlCaptionEquals, Value1:="'"
End If
End Sub
Private Sub txt_buscador_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 8 Or KeyCode = 46 Then
txt_buscador.Text = ""
End If
End Sub
Sub Nueva_Busqueda()
txt_buscador.Text = ""
txt_buscador.Activate
End Sub
Nota: Asegúrate de reemplazar Tabla dinámica2 por TD_Materiales y Producto por el nombre del campo que desees filtrar.
Paso 10: Regresa a la hoja de cálculo y accede a la opción Formas desde la ficha Insertar. Dibuja un rectángulo que funcionará como botón para limpiar los datos de búsqueda.
Paso 11: Haz clic derecho en el botón que has creado y selecciona la opción Asignar Macro. Vincula la macro Nueva_Búsqueda al botón.
Paso 12: Deshabilita el Modo de Diseño.
Paso 13: Por último, guarda el archivo como un libro habilitado para macros.
Una vez completados los pasos, podrás utilizar la búsqueda de palabras clave para filtrar rápidamente los datos en la tabla dinámica.
Si te ha sido útil este tutorial, puedes apoyar este sitio con una donación. ¡Cualquier aporte será muy apreciado! Gracias por tu ayuda para mantener el sitio activo y seguir ofreciendo más recursos valiosos.
No hay comentarios.: