Contenido
Calcular porcentajes en un informe de tabla dinámica mediante VBA en Excel es un proceso que implica manipular el objeto PivotTable para modificar sus cálculos. A continuación, te doy una guía paso a paso sobre cómo lograr esto:
- Acceder al Editor de VBA:
- Abre tu archivo de Excel.
- Presiona `ALT + F11` para abrir el Editor de VBA.
- Insertar un Módulo:
- En el Editor de VBA, haz clic en `Insertar` > `Módulo` para crear un nuevo módulo, donde escribirás el código VBA.
- Escribir el Código VBA:
Aquí tienes un ejemplo de código que calcula el porcentaje de un campo determinado en una tabla dinámica. Supongamos que quieres calcular el porcentaje de un campo que se llama «Ventas».
Sub CalcularPorcentajes()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
' Definir la hoja que contiene la tabla dinámica
Set ws = ThisWorkbook.Sheets("NombreDeTuHoja") ' Cambia "NombreDeTuHoja" por el nombre de tu hoja
Set pt = ws.PivotTables("NombreDeTuTablaDinamica") ' Cambia "NombreDeTuTablaDinamica" por el nombre de tu tabla dinámica
' Selecciona el campo que quieres modificar para calcular el porcentaje
Set pf = pt.PivotFields("Ventas") ' Cambia "Ventas" al nombre del campo que buscas
' Configurar el cálculo del campo como porcentaje del total
With pf
.Calculation = xlPercentOfTotal
End With
' Actualiza la tabla dinámica
pt.RefreshTable
End Sub
- Modificar el Código:
- Asegúrate de cambiar `»NombreDeTuHoja»` al nombre real de tu hoja de Excel.
- Cambia `»NombreDeTuTablaDinamica»` por el nombre de tu tabla dinámica.
- Cambia `»Ventas»` por el nombre del campo que deseas calcular como porcentaje.
- Ejecutar el Código:
- Presiona `F5` o ve al menú `Ejecutar` > `Ejecutar Sub/UserForm` para ejecutar el código.
- Esto aplicará el formato de porcentaje al campo especificado de tu tabla dinámica.
- Verificar el Resultado:
- Vuelve a tu hoja de cálculo de Excel y verifica que tu tabla dinámica ahora muestra los datos como un porcentaje del total.
Este proceso cambiará la manera en que se muestran los datos en la tabla dinámica para que reflejen los porcentajes. Asegúrate de tener una copia de seguridad de tus datos antes de ejecutar el código, especialmente si no estás familiarizado con VBA.