Contenido
Para agregar un campo al área de valores de una tabla dinámica con VBA, debes seguir estos pasos básicos. Asegúrate de que la tabla dinámica ya esté creada en tu hoja de Excel y luego utiliza el Editor de VBA para escribir el siguiente código. Aquí hay un ejemplo de cómo hacerlo:
Sub AgregarCampoAlAreaDeValores()
Dim ws As Worksheet
Dim pt As PivotTable
Dim campoValores As PivotField
' Establecer la hoja de cálculo con la tabla dinámica
Set ws = ThisWorkbook.Sheets("NombreDeLaHoja") ' Cambia "NombreDeLaHoja" por el nombre de la hoja que contiene la tabla dinámica
' Establecer la tabla dinámica que quiero modificar
Set pt = ws.PivotTables("NombreDeLaTablaDinamica") ' Cambia "NombreDeLaTablaDinamica" por el nombre de tu tabla dinámica
' Agregar el campo al área de valores
Set campoValores = pt.PivotFields("NombreDelCampo") ' Cambia "NombreDelCampo" por el nombre del campo que deseas agregar
pt.AddDataField campoValores, "Suma de " & campoValores.Name, xlSum
End Sub
- Abre Excel y presiona `ALT + F11` para abrir el Editor de VBA.
- Inserta un nuevo módulo haciendo clic en `Insertar > Módulo`.
- Copia y pega el siguiente código en el módulo:
- Personaliza el código:
- Cambia `»NombreDeLaHoja»` al nombre de tu hoja de cálculo.
- Cambia `»NombreDeLaTablaDinamica»` al nombre de tu tabla dinámica.
- Cambia `»NombreDelCampo»` al nombre del campo que deseas agregar al área de valores.
- Ejecuta el macro presionando `F5` o desde el menú `Ejecutar > Ejecutar Sub/UserForm`.
Este código buscará la tabla dinámica específica en la hoja de cálculo que indiques y agregará el campo especificado al área de valores, configurando la función de resumen como una suma. Puedes cambiar `xlSum` por otras funciones, como `xlCount` para contar o `xlAverage` para promediar, según tus necesidades.