我正在研究一个代码,用于将数据库字段从绝对值切换到索引。
Private Sub Index_Change()
Dim p As PivotTable
Dim f As PivotField
Set p = Sheets("1").PivotTables("2")
With p.PivotFields("Sum of 1")
.Calculation = xlPercentOf
.BaseItem = ""
.NumberFormat = "0,00%"
End With
End Sub
我正在寻找一种方法来选择枢轴列的第一个单元格作为.BaseItem
。
答案 0 :(得分:1)
我通过简单地录制一个显示适当代码的宏来找到这个答案:
Dim pt As PivotTable
Dim pfI As PivotField, pfB As PivotField
Set pt = ActiveSheet.PivotTables("PivotTable1") 'adjust to your table
Set pfI = pt.PivotFields("myIndexColumn") 'adjust to your table
Set pfB = pt.PivotFields("myBaseField") 'adjust to your table
With pfI
.Calculation = xlPercentOf
.BaseField = pfB.Name
.BaseItem = pfB.PivotItems(1).Name
.NumberFormat = "0.00%"
End With
为了清楚起见,宏录制器没有完全按照书面形式向我显示上面的代码,但我对其进行了调整以使编码更具动态性。记录器显示的代码如下(我在数据透视表字段名称中留下):
With ActiveSheet.PivotTables("PivotTable3").PivotFields("Loan Amounts")
.Calculation = xlPercentOf
.BaseField = "Loan Type"
.BaseItem = "C&I"
.NumberFormat = "0.00%"
End With