Contenido
Para desagrupar datos en una tabla dinámica utilizando VBA en Excel, puedes seguir los siguientes pasos. Estos pasos asumen que tienes conocimientos básicos de VBA y cómo acceder al editor de VBA en Excel.
Sub DesagruparTablaDinamica()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
' Cambia "Sheet1" por el nombre de tu hoja de cálculo
Set ws = ThisWorkbook.Worksheets("Sheet1")
' Cambia "TablaDinamica1" por el nombre de tu tabla dinámica
Set pt = ws.PivotTables("TablaDinamica1")
' Iterar a través de cada campo de la tabla dinámica
For Each pf In pt.PivotFields
On Error Resume Next
pf.ClearAllFilters
On Error GoTo 0
' Desagrupar si está agrupado
If pf.Orientation = xlRowField Or pf.Orientation = xlColumnField Then
pf.Ungroup
End If
Next pf
MsgBox "Datos desagrupados en la tabla dinámica."
End Sub
- Abrir el Editor de VBA:
- Abre Excel y presiona `ALT + F11` para abrir el Editor de VBA.
- Insertar un Módulo Nuevo:
- En el Editor de VBA, inserta un nuevo módulo haciendo clic en `Insertar > Módulo`.
- Escribir el Código para Desagrupar:
- Escribe el siguiente código en el módulo para desagrupar los elementos en la tabla dinámica:
- Modificar el Código según Necesidad:
- Asegúrate de reemplazar `»Sheet1″` con el nombre de la hoja donde se encuentra tu tabla dinámica.
- Cambia `»TablaDinamica1″` por el nombre específico de tu tabla dinámica. Puedes encontrar este nombre seleccionando la tabla dinámica en Excel y revisando el cuadro de nombres en la esquina superior izquierda.
- Ejecutar el Código:
- Presiona `F5` o ve a `Ejecutar > Ejecutar Sub/UserForm` para ejecutar el código. Esto desagrupará cualquier campo que esté agrupado en las filas o columnas de la tabla dinámica especificada.
Es importante tener cuidado al realizar cambios en una tabla dinámica, especialmente mediante código, ya que puede afectar la estructura o los datos visualizados en tu reporte. Realiza estos pasos en una copia de seguridad si es necesario.