Contenido
Para crear un elemento calculado en una tabla dinámica utilizando VBA, puedes seguir los siguientes pasos. Ten en cuenta que esto supone que ya tienes una tabla dinámica creada en Excel. Este ejemplo considera que deseas agregar un nuevo elemento calculado a uno de los campos de tu tabla dinámica.
Aquí te dejo un ejemplo de cómo hacerlo:
- Abre el Editor de VBA:
- Presiona `ALT + F11` en Excel para abrir el editor de VBA.
- Inserta un Módulo Nuevo:
- Haz clic derecho en «VBAProject (TuArchivo.xlsm)».
- Selecciona `Insertar` -> `Módulo`.
- Escribe el Código VBA:
Aquí hay un ejemplo de cómo podrías configurar un script VBA para agregar un elemento calculado:
Sub AgregarElementoCalculado()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
' Cambia "Hoja1" al nombre de tu hoja
' Cambia "Tabla Dinámica 1" al nombre de tu tabla dinámica
Set ws = ThisWorkbook.Worksheets("Hoja1")
Set pt = ws.PivotTables("Tabla Dinámica 1")
' Cambia "Campo1" al nombre del campo al que deseas agregar el elemento calculado
Set pf = pt.PivotFields("Campo1")
On Error Resume Next ' Para manejar errores si el elemento ya existe
pf.CalculatedItems.Add Name:="ElementoCalculado", Formula:="= 'Elemento1' + 'Elemento2'"
On Error GoTo 0
' Refrescar la tabla para ver los cambios
pt.RefreshTable
End Sub
- Modifica el Código Según tus Necesidades:
- Asegúrate de cambiar «Hoja1» por el nombre de tu hoja de cálculo.
- Cambia «Tabla Dinámica 1» al nombre específico de tu tabla dinámica.
- Cambia «Campo1» al nombre del campo que contiene los elementos a los que deseas agregar el elemento calculado.
- Ajusta la fórmula `»= ‘Elemento1’ + ‘Elemento2′»` con la fórmula que necesitas para tu elemento calculado.
- Ejecuta el Código:
- Coloca el cursor dentro del código del subprocedimiento `AgregarElementoCalculado`.
- Presiona `F5` o ejecuta el script desde el menú.
Este código añade un elemento calculado nuevo a un campo específico en tu tabla dinámica. Asegúrate de que los nombres de los campos coincidan exactamente con los nombres utilizados en tu tabla dinámica para que el script funcione correctamente.