2016-05-05 43 views
0

我想創建使用VBA創建數據透視表的自定義報告,並且我遇到麻煩的部分之一是將數據字段設置爲基於他的用戶慾望。Excel VBA - 使用變量來設置數據透視表數據字段功能

例如: 我有一個下拉菜單,顯示每種類型的PivotFields函數(sum,min max等),並根據用戶選擇的內容將其存儲爲字符串變量。

當我運行我的代碼:

Dim valueXL As String 
valueXL = xlSum 

With Worksheets(sheetPivotName).PivotTables(sheetPivotName).PivotFields(valueType) 
.Function = valueXL 
.NumberFormat = "$#,##0.00" 
End With 

我得到一個錯誤,但是,如果我用。功能= xlSum更換。功能= valueXL它工作正常。

有什麼辦法可以動態設置.Function的值嗎?

感謝

回答

3

由於xlSum是數字Excel常量你應該改變valueXL整數

Dim valueXL As Integer 
valueXL = xlSum 

,或者使用直接定在你的代碼

With Worksheets(sheetPivotName).PivotTables(sheetPivotName).PivotFields(valueType) 
    .Function = xlSum 
    .NumberFormat = "$#,##0.00" 
End With 
+0

或使用'CINT(valueXL)'...還是「valueXL」被定義爲字符串沒有任何意義:/ –

+0

感謝這個,我不知道xlSum,那些值被視爲整數而不是字符串! – TMP4

0

我發現了一個可能的解決方案,它是使用評價功能,如果有任何其他的解決辦法,但是我想知道?

如果不是,我可以選擇這個作爲答案。

相關問題