Contenido
Para mostrar u ocultar elementos específicos en una tabla dinámica utilizando VBA en Excel, puedes usar el objeto `PivotItems` para acceder a los elementos individuales de un campo de la tabla dinámica. Aquí tienes un ejemplo de cómo hacerlo:
Supongamos que tienes una tabla dinámica que contiene un campo llamado «Categoría» y deseas ocultar todos los elementos excepto uno llamado «Electrónica». El siguiente código VBA te permitiría lograr esto:
Sub MostrarOcultarElementos()
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim ws As Worksheet
Dim elementoVisible As String
' Define el nombre del elemento que deseas dejar visible
elementoVisible = "Electrónica"
' Cambia "Hoja1" por el nombre de tu hoja que contiene la tabla dinámica
' Cambia "Tabla dinámica1" por el nombre de tu tabla dinámica
Set ws = ThisWorkbook.Sheets("Hoja1")
Set pt = ws.PivotTables("Tabla dinámica1")
' Cambia "Categoría" por el nombre del campo de tu tabla dinámica
Set pf = pt.PivotFields("Categoría")
' Itera sobre cada elemento del campo y establece su visibilidad
For Each pi In pf.PivotItems
If pi.Name = elementoVisible Then
pi.Visible = True
Else
pi.Visible = False
End If
Next pi
End Sub
Este código realiza lo siguiente:
- Obtiene la referencia a la tabla dinámica y al campo específico que deseas modificar.
- Define el elemento específico que deseas dejar visible.
- Recorre todos los elementos del campo y establece su visibilidad a `True` o `False` según corresponda.
Para usar este código:
- Abre el Editor de VBA presionando `Alt + F11` en Excel.
- Inserta un nuevo módulo desde el menú `Insertar` > `Módulo`.
- Copia y pega el código en el módulo.
- Ajusta los nombres de la hoja y de la tabla dinámica según sea necesario.
- Ejecuta la macro para aplicar los cambios.
Este enfoque te permite controlar de manera precisa qué elementos se muestran u ocultan en tu tabla dinámica mediante VBA.