我有一些引用Slicers的代码:
For Each item In wb.SlicerCaches("Segment").SlicerItems
If item.Selected = True Then
If Len(sSegment) > 0 Then sSegment = sSegment & "|"
sSegment = sSegment & item.Caption
End If
Next item
但我得到Invalid procedure call or argument
。我已经看到许多按名称引用它们的示例,但无法使其发挥作用。如果我使用(1),(3)等然后添加一个切片器,它就会搞乱订单,所以代码就会被破坏。
如何按名称引用它们,我的最终目标是遍历所选项目。
答案 0 :(得分:1)
您可能需要在前面添加Slicer_
来引用slicercache。
例如,我在包含书籍信息的表格中添加了Authors
切片器,我可以使用此代码来引用它:
Debug.Print ActiveWorkbook.SlicerCaches("Slicer_Author").Slicers("Author").Caption
我知道添加Slicer_
的原因是因为我右键单击切片器然后选择了Slicer Settings...
并看到了这个:
这似乎很好地引用了切片器。我碰巧看到了这一点,并且想要尝试一下,真是愚蠢的运气。
答案 1 :(得分:0)
尝试:
For Each item In wb.SlicerCaches.Item("Segment").SlicerItems