Cómo crear una Tabla Dinámica con Función de Búsqueda Predictiva

Este tutorial te enseñará a crear una aplicación en Excel que permita filtrar una tabla dinámica mediante un cuadro de texto sensible a las palabras clave que ingrese el usuario. 

El filtrado se asociará a un campo específico de la tabla dinámica, facilitando la búsqueda de información relevante.

Desarrollando la Aplicación Paso a Paso

Para empezar, descarga la base de datos con la que trabajaremos:

Descargar base de datos


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.

Descargar ejemplo terminado

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.
Cómo crear una Tabla Dinámica con Función de Búsqueda Predictiva Cómo crear una Tabla Dinámica con Función de Búsqueda Predictiva Reviewed by Alberto on 2/07/2016 10:43:00 a.m. Rating: 5

No hay comentarios.:

Con tecnología de Blogger.