【发布时间】:2019-03-15 23:07:27
【问题描述】:
在使用数组中的项目过滤基于 OLAP 的数据透视表切片器时遇到问题。
我有一个由与切片器项目标题相同的机器编号组成的数组,如下所示:
machines = Array("Machine1", "Machine2", "Machine3" etc.. )
我想使用这个数组来过滤切片器:
ActiveWorkbook.SlicerCaches("MachinesSlicer").VisibleSlicerItemsList = Array(machines)
它可以正常工作,直到数组中有一个机器编号在切片器项目中不可见(例如,由于其他切片器过滤,例如日期等)。 有没有办法绕过导致问题的那些项目?
我尝试创建一个新数组,遍历切片器项并将它们与数组项进行比较:
For Each machName In machines
For Each si1 In sl1.SlicerItems
If si1.Caption = machName Then
TestArray = TestArray & Chr(34) & si1.Caption & Chr(34) & Chr(44)
End If
Next si1
Next machName
但它的作用是创建一个数组,其中包含一个字符串,看起来像这样:
"Machine1", "Machine2", Machine3" ...etc
但我需要将这些元素分开,以便将它们传递到 VisibleSlicerItemList。
也许你们中的一些人会知道如何解决这个问题。 任何帮助将不胜感激,谢谢!
【问题讨论】:
标签: arrays excel vba olap-cube