Truco de Excel muy rápido que os permite crear múltiples campos calculados en una tabla dinámica. Imaginemos que tenemos una tabla dinámica con un campo que es la suma de la exposición al riesgo y, por otro lado, tenemos el número de siniestros. Estos dos campos los tenemos para 30 coberturas. Si queremos crear un campo calculado que sea la frecuencia siniestral (número de siniestros / exposición) para esos 30 campos, tenemos que ir a herramientas de tabla dinámica, fórmulas, definir el nuevo campo… O bien podemos emplear la siguiente macro:
Sub CreaCamposCalculados()
Dim pt As PivotTable
Dim i As Integer
Dim nombreCampo As String
Dim formulaCampo As String
' Referencia a la primera tabla dinámica de la hoja activa
Set pt = ActiveSheet.PivotTables(1)
' Bucle para crear múltiples campos calculados (ejemplo para 3 coberturas)
For i = 1 To 3
nombreCampo = "Frecuencia_Cobertura_" & i
' La fórmula usa los nombres de los campos existentes
formulaCampo = "='Siniestros_" & i & "' / 'Exposicion_" & i & "'"
pt.CalculatedFields.Add nombreCampo, formulaCampo
pt.PivotFields(nombreCampo).Orientation = xlDataField
Next i
End Sub
Macro sencilla que puede ahorraros muchos pasos con las fórmulas de las tablas dinámicas. Espero que sea de utilidad. Saludos.