Dim objPCch As Excel.PivotCache
Dim objPTbl As Excel.PivotTable
' ometto tutto il resto perchè non interessante
'aggiungo i campi calcolati
objPTbl.CalculatedFields.Add "Var €", _
"='ACT T.O. 12' -'BGT T.O. 12'", True
objPTbl.CalculatedFields.Add "Var € %", _
"=IF('BGT T.O. 12' =0,0,'Var €' /'BGT T.O. 12' )", True
objPTbl.CalculatedFields.Add "Var Qty", _
"='ACT QTY ''12' -'BGT QTY ''12'", True
objPTbl.CalculatedFields.Add "Var Qty %", _
"= IF('BGT QTY ''12' =0,0,'Var Qty' /'BGT QTY ''12' )", True
objPTbl.CalculatedFields.Add "Var € PY", _
"='ACT T.O. 12' -'PY T.O. 11'", True
objPTbl.CalculatedFields.Add "Var € PY%", _
"=IF('PY T.O. 11' =0,0,'Var € PY' /'PY T.O. 11')", True
objPTbl.CalculatedFields.Add "Var Qty PY", _
"='ACT QTY ''12'-'PY QTY ''11'", True
objPTbl.CalculatedFields.Add "Var Qty PY%", _
"=IF('PY QTY ''11' =0,0,'Var Qty PY' /'PY QTY ''07' )", True
objPTbl.CalculatedFields.Add "AVG €", _
"='ACT T.O. 12' /'ACT QTY ''12'", True
objPTbl.CalculatedFields.Add "AVG € BGT", _
"='BGT T.O. 12'/'BGT QTY ''12'", True
objPTbl.CalculatedFields.Add "€ EFF", _
"=('AVG €'-'AVG € BGT')*'BGT QTY ''12'", True
objPTbl.CalculatedFields.Add "QTY EFF", _
"=('Var Qty' *'AVG €' )", True
objPTbl.PivotFields("Var €").Orientation = _
xlDataField
objPTbl.PivotFields("Var € %").Orientation = _
xlDataField
objPTbl.PivotFields("Var Qty").Orientation = _
xlDataField
objPTbl.PivotFields("Var Qty %").Orientation _
= xlDataField
objPTbl.PivotFields("Var € PY").Orientation = _
xlDataField
objPTbl.PivotFields("Var € PY%").Orientation = _
xlDataField
objPTbl.PivotFields("Var Qty PY").Orientation = _
xlDataField
objPTbl.PivotFields("Var Qty PY%").Orientation _
= xlDataField
objPTbl.PivotFields("€ EFF").Orientation _
= xlDataField
objPTbl.PivotFields("QTY EFF").Orientation _
= xlDataField
ActiveSheet.PivotTables("Tabella_pivot2").DataPivotField.PivotItems( _
"Somma di Var €").Position = 3
ActiveSheet.PivotTables("Tabella_pivot2").DataPivotField.PivotItems( _
"Somma di Var € %").Position = 4
ActiveSheet.PivotTables("Tabella_pivot2").PivotSelect _
"'Somma di Var € PY':'Somma di Var € PY%'", xlDataAndLabel, True
ActiveSheet.PivotTables("Tabella_pivot2").PivotSelect _
"'Somma di Var € PY':'Somma di Var € PY%'", xlDataAndLabel, True
ActiveSheet.PivotTables("Tabella_pivot2").DataPivotField.PivotItems( _
"Somma di Var € PY").Position = 6
ActiveSheet.PivotTables("Tabella_pivot2").DataPivotField.PivotItems( _
"Somma di Var € PY%").Position = 7
ActiveSheet.PivotTables("Tabella_pivot2").PivotSelect _
"'Somma di Var Qty':'Somma di Var Qty %'", xlDataAndLabel, True
ActiveSheet.PivotTables("Tabella_pivot2").DataPivotField.PivotItems( _
"Somma di Var Qty").Position = 10
ActiveSheet.PivotTables("Tabella_pivot2").DataPivotField.PivotItems( _
"Somma di Var Qty %").Position = 11
'formatta la varianza percentuale come percentuale
With objPTbl.PivotFields("Somma di Var € %")
.NumberFormat = "0%;[Red](0%)"
End With
With objPTbl.PivotFields("Somma di Var € PY%")
.NumberFormat = "0%;[Red](0%)"
End With
With objPTbl.PivotFields("Somma di Var Qty %")
.NumberFormat = "0%;[Red](0%)"
End With
With objPTbl.PivotFields("Somma di Var Qty PY%")
.NumberFormat = "0%;[Red](0%)"
End With
'rinomina i delta
objPTbl.DataPivotField.PivotItems _
("Somma di VAR €").Caption = "Var €."
objPTbl.DataPivotField.PivotItems _
("Somma di Var € %").Caption = "Var.€%" |