
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



