Contenido
Crear una tabla resumen a partir de múltiples tablas dinámicas utilizando VBA implica automatizar el proceso de extracción y consolidación de información clave de cada tabla dinámica. Aquí te guiaré paso a paso sobre cómo puedes logarlo:
Paso 1: Configuración Inicial
Antes de comenzar, asegúrate de que todas tus tablas dinámicas están listas y que tienes un espacio vacío en tu hoja de trabajo o en una nueva hoja para crear la tabla resumen.
Paso 2: Acceso al Editor de VBA
- Abre Excel y presiona `Alt + F11` para abrir el Editor de VBA.
- En el menú, selecciona `Insertar` -> `Módulo` para crear un nuevo módulo donde escribirás tu código de VBA.
Paso 3: Escritura del Código VBA
Aquí tienes un ejemplo de cómo puede estructurarse el código para recopilar información de varias tablas dinámicas:
Sub CrearTablaResumen()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pc As PivotCache
Dim resumenWS As Worksheet
Dim filaInicio As Integer
Dim fila As Integer
Dim col As Integer
' Asignar la hoja donde irán los resultados
On Error Resume Next
Set resumenWS = ThisWorkbook.Worksheets("Resumen")
On Error GoTo 0
If resumenWS Is Nothing Then
Set resumenWS = ThisWorkbook.Worksheets.Add
resumenWS.Name = "Resumen"
Else
resumenWS.Cells.Clear
End If
filaInicio = 2 ' Dejar espacio para encabezados
fila = filaInicio
resumenWS.Cells(1, 1).Value = "Nombre de Tabla Dinámica"
resumenWS.Cells(1, 2).Value = "Campo"
resumenWS.Cells(1, 3).Value = "Elemento"
resumenWS.Cells(1, 4).Value = "Valor"
' Iterar sobre cada hoja
For Each ws In ThisWorkbook.Worksheets
' Iterar sobre cada tabla dinámica en la hoja
For Each pt In ws.PivotTables
' Obtener el nombre de la tabla dinámica
resumenWS.Cells(fila, 1).Value = pt.Name
' Extraer y colocar datos clave
For Each pf In pt.PivotFields
If pf.Orientation = xlDataField Then
resumenWS.Cells(fila, 2).Value = pf.Name
For Each pi In pf.PivotItems
resumenWS.Cells(fila, 3).Value = pi.Name
resumenWS.Cells(fila, 4).Value = pi.Value
fila = fila + 1
Next pi
End If
Next pf
Next pt
Next ws
MsgBox "Tabla resumen creada con éxito en la hoja 'Resumen'."
End Sub
Paso 4: Ejecutar el Código
- Guarda tu <em>workbook</em> habilitado para macros (extensión `.xlsm`).
- En el Editor de VBA, selecciona `Run` -> `Run Sub/UserForm` o presiona `F5` para ejecutar el código.
- Revisa la nueva hoja llamada «Resumen», donde deberías ver los datos consolidados de las tablas dinámicas.
Notas Adicionales
- Este script asume que estás interesado en los campos de datos de las tablas dinámicas.
- Puedes modificar las variables y lógica según tus necesidades específicas, como seleccionar ciertos campos o agregar condiciones adicionales.
- Asegúrate de que las tablas dinámicas están actualizadas para obtener resultados precisos.
Siguiendo estos pasos, deberías poder consolidar la información de tus tablas dinámicas en una tabla resumen de manera eficiente.