¿Cómo cambiar la agregación de un campo de datos en una tabla dinámica usando VBA?

Para cambiar la agregación de un campo de datos en una tabla dinámica usando VBA, necesitas acceder al objeto `PivotField` correspondiente y modificar su propiedad `Function`. Aquí te doy un ejemplo paso a paso de cómo hacerlo:

Supongamos que tienes una tabla dinámica con un campo de datos llamado «Ventas» y deseas cambiar la agregación de dicho campo a una suma.

   Sub CambiarAgregacionCampoDatos()
       Dim pt As PivotTable
       Dim pf As PivotField
       
       ' Referencia a la primera tabla dinámica en la primera hoja (ajusta según sea necesario)
       Set pt = ThisWorkbook.Worksheets("Hoja1").PivotTables(1)
       
       ' Referencia al campo de datos que deseas modificar
       Set pf = pt.PivotFields("Ventas")
       
       ' Cambia la función de agregación a Suma
       pf.Function = xlSum
       
       ' Otras funciones de agregación comunes:
       ' pf.Function = xlCount  ' Conteo
       ' pf.Function = xlAverage ' Promedio
       ' pf.Function = xlMax    ' Máximo
       ' pf.Function = xlMin    ' Mínimo
       
       ' Actualiza la tabla dinámica para aplicar los cambios
       pt.RefreshTable
       
       MsgBox "La agregación ha sido cambiada a Suma."
   End Sub
  • Abre el Editor de VBA: Ve a Excel y presiona `ALT + F11` para abrir el Editor de Visual Basic.
  • Inserta un Módulo: Haz clic derecho en el proyecto de VBA correspondiente a tu archivo de Excel, selecciona «Insertar» y luego «Módulo» para agregar uno nuevo.
  • Escribe el Código: Introduce el siguiente código en el módulo:

Asegúrate de ajustar `»Hoja1″` y `»Ventas»` con el nombre real de la hoja y del campo que estás utilizando en tu tabla dinámica.

  • Ejecuta el Código: Con el cursor dentro del código que acabas de escribir, presiona `F5` para ejecutar el script. Esto cambiará la función de agregación a «Suma».

Este código simplemente accede al campo de datos especificado en la tabla dinámica y cambia la función de agregación al tipo deseado. Puedes cambiar el tipo de agregación usando otras constantes de función de Excel como `xlCount` para conteo, `xlAverage` para promedio, etc. Ajusta el código según tus necesidades específicas.

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