我想通过数据透视表中的VBA选择一些值,这些值链接到OLAP多维数据集。 据我所知,可以通过输入以下内容来实现这种修改:
ActiveSheet.PivotTables("PivotTable1").PivotFields("[parameter].[parameter]").VisibleItemsList = Array("value1","value2","value3")
由于从Excel表格中的单元格中获取参数列表,我编写了简单的函数 - 在提到的示例中 - 返回:
""value1","value2","value3""
我不能将这样的字符串用作Array函数的参数(因为它将它识别为一个字符串),所以我试图将它转换为Variant数组,在上面输入代码:
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
我仍然收到错误讯息。 你能帮帮我吗?
答案 0 :(得分:1)
您的代码中有拼写错误,daty
应该说myVar
。
(或者我们错过了更多细节)
答案 1 :(得分:0)
愚蠢的事情,但错误信息是完全正确的 - Cube中没有这样的项目:
运行时错误“1004”:在OLAP多维数据集中找不到该项
我在这里给出了错误的参数:
ActiveSheet.PivotTables("PivotTable1").PivotFields("[parameter].[parameter]").VisibleItemsList = tableVar
我的代码不必要复杂 - 抱歉浪费你的时间。 现在我的问题是 - 如何检查特定尺寸或整个立方体是否存在...... 再次感谢您的帮助。