Contenido
Para listar todos los campos calculados en una tabla dinámica usando VBA, necesitas recorrer los campos calculados de la tabla dinámica y mostrar sus nombres. A continuación, te muestro un ejemplo de cómo podrías hacerlo:
Sub ListarCamposCalculados()
Dim pt As PivotTable
Dim pc As PivotCache
Dim ws As Worksheet
Dim pf As PivotField
Dim fc As PivotField
Dim i As Integer
' Cambia "Hoja1" por el nombre de tu hoja de cálculo
Set ws = ThisWorkbook.Worksheets("Hoja1")
' Cambia "TablaDinámica1" por el nombre de tu tabla dinámica
Set pt = ws.PivotTables("TablaDinámica1")
' Variable para recopilar la lista de nombres de campos calculados
Dim nombreCamposCalculados As String
nombreCamposCalculados = "Campos Calculados:" & vbCrLf
' Recorre cada campo en la colección de campos de datos de la tabla dinámica
For Each pf In pt.DataFields
' Verifica si el campo es calculado
If pf.IsCalculated Then
nombreCamposCalculados = nombreCamposCalculados & pf.Name & vbCrLf
End If
Next pf
' Muestra todos los campos calculados en un cuadro de mensaje
MsgBox nombreCamposCalculados
End Sub
Instrucciones:
- Abre el editor de VBA presionando `ALT + F11` en Excel.
- Inserta un nuevo módulo y pega el código en el módulo.
- Ajusta los nombres del `Worksheet` y `PivotTable` según tus necesidades.
- Ejecuta la macro `ListarCamposCalculados` para obtener una lista de todos los campos calculados en la tabla dinámica especificada.
Este código básico te ofrece un punto de partida. Puedes adaptarlo según necesites, como, por ejemplo, escribir la lista de campos calculados en una hoja de trabajo en lugar de mostrarla en un cuadro de mensaje.