我正在編寫代碼以循環訪問數據透視表中的每個數據透視表字段,然後根據源名稱更改「自定義名稱」。當我記錄更改列標題我收到下面的代碼:使用VBA在數據透視表中根據源名稱更改列標題
Range("J5").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Man-Hours Oct-16").Caption _
= "Man-Hours Nov-16"
的問題是,定製的名稱改變每個月,所以我想指的是基於該源名樞軸場,不標題。我寫穿過每個樞軸字段成功循環和標識源代碼,但是,我收到時,它試圖修改字幕的錯誤消息:
Dim CurrentDate As Date
Dim CurrentMonth As String
Dim CurrentYear As String
Dim pf as PivotField
CurrentDate = Range("CurrentDate")
CurrentMonth = Format(CurrentDate, "MMM")
CurrentYear = Format(CurrentDate, "YY")
For Each pf In PivotSheet.PivotTables("PivotTable1").PivotFields
'Total Forecast
If pf.SourceName = "Man-Hours 0" Then
pf.Caption = "Man-Hours " & CurrentMonth & "-" & CurrentYear
ElseIf pf = "Cost ($$) 0" Then
pf.Caption = "Cost ($$) " & CurrentMonth & "-" & CurrentYear
End If
Next pf
上面的代碼接收錯誤:「運行時間錯誤'0123':pf.Caption
行上的'無效過程調用或參數'。
我也嘗試使用pf.LabelRange
,以及和我收到的錯誤:「運行時錯誤‘1004’:無法獲取透視字段類的LabelRange財產」
我一直在尋找周圍試圖找到解決方案我沒有用數據透視表編寫太多的代碼,所以我不知道我是否應該使用透視項目?我發現所有代碼都改變了列標題,它基於前面的標題名稱。