¿Cómo listar todos los campos calculados en una tabla dinámica con VBA?

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.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario