我想通過鏈接到OLAP多維數據集的數據透視表中的VBA選擇一些值。 正如我知道這樣的修改可以通過鍵入來實現:數據透視表 - VBA
ActiveSheet.PivotTables("PivotTable1").PivotFields("[parameter].[parameter]").VisibleItemsList = Array("value1","value2","value3")
由於從在Excel工作表單元的參數獲取列表,我寫簡單的功能,其 - 在上述實施例 - 回報:
""value1","value2","value3""
我不能使用這樣的字符串作爲參數陣列功能(因爲它認識到它作爲一個字符串),所以我試圖將其轉換爲變體數組,上面的代碼輸入:
Dim tableVar() As Variant
myVar = Replace(myVar, Chr(34), "")
myVar = Split(myVar, ",")
lowerB =LBound(myVar)
upperB = UBound(myVar)
ReDim tablica(lowerB To upperB)
For i = lowerB To upperB
tableVar(i) = myVar(i)
Next i
不幸的是,它不會改變 - 當我打電話時:
ActiveSheet.PivotTables("PivotTable1").PivotFields("[parameter].[parameter]").VisibleItemsList = tableVar
我仍然收到一條錯誤消息。 你能幫我嗎?
你得到了什麼確切的錯誤? –
感謝您的建議 - 因爲Stackoverflow擁有如此多的用戶,所以它的響應速度並不那麼簡單。我的錯誤是:運行時錯誤'1004': 在OLAP Cube中找不到該項目 – matandked
爲什麼不只是讓函數返回管道(|) - 限定字段列表,那麼您可以使用'Split( myVar,「|」)'來創建數組。 –