¿Cómo agregar un campo calculado a una tabla dinámica con VBA?

Para agregar un campo calculado a una tabla dinámica utilizando VBA en Excel, puedes seguir estos pasos. Supongamos que ya tienes una tabla dinámica existente y quieres añadir un campo calculado a ella:

Sub AgregarCampoCalculado()
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim ws As Worksheet
    
    ' Cambia "Hoja1" por el nombre de tu hoja de cálculo
    Set ws = ThisWorkbook.Sheets("Hoja1")
    
    ' Cambia "TablaDinámica1" por el nombre de tu tabla dinámica
    Set pt = ws.PivotTables("TablaDinámica1")
    
    ' Agregar un campo calculado
    ' Cambia "NombreCampoCalculado" a como quieres llamar al campo calculado
    ' Cambia "Fórmula" por la fórmula que deseas usar, e.g., "='Campo1' + 'Campo2'"
    On Error Resume Next
    pt.CalculatedFields.Add Name:="NombreCampoCalculado", Formula:="='Campo1' + 'Campo2'"
    On Error GoTo 0
    
    ' Este paso es opcional, pero puedes establecer el campo calculado como un campo de valor
    Set pf = pt.PivotFields("NombreCampoCalculado")
    pt.AddDataField pf, "Suma de NombreCampoCalculado", xlSum
    
    MsgBox "Campo calculado agregado exitosamente."
End Sub
  • Abre el Editor de VBA en Excel presionando `ALT + F11`.
  • Inserta un nuevo módulo si aún no tienes uno. Puedes hacerlo haciendo clic en `Insertar` > `Módulo`.
  • Escribe el siguiente código, ajustándolo según tus necesidades específicas (nombre de campos, fórmula, etc.):

Explicación del Código:

  • Asegúrate de que el nombre de la hoja (`»Hoja1″`) y el de la tabla dinámica (`»TablaDinámica1″`) coincidan con los de tu archivo.
  • Cambia `»NombreCampoCalculado»` al nombre que deseas para tu nuevo campo calculado.
  • Modifica la fórmula (`»=’Campo1′ + ‘Campo2′»`) según las operaciones y los campos de tu tabla dinámica.
  • `On Error Resume Next` se usa para evitar que el código se detenga si el campo calculado ya existe. Puedes manejar errores de forma más detallada si es necesario.

Este script básico te ayudará a agregar un campo calculado a una tabla dinámica con VBA. Asegúrate de ajustar los nombres y fórmulas según tus necesidades específicas.

Conoce nuestros servicios

Conoce nuestra tienda

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario