我有一个带有单个选定元素的切片器,我只需要使用我的数据切片器中所选项目的相应文本调暗变量。我试过这个没有运气:
Dim i As Integer
For i = 1 To ActiveWorkbook.SlicerCaches("Slicer_HeaderTitle").Slicers.Count
MsgBox ("Level" & CStr(i) & "; – > " & ActiveWorkbook.SlicerCaches("Slicer_HeaderTitle").Slicers(i).Name)
Next i
答案 0 :(得分:1)
这里的问题是你试图迭代切片器而不是切片器。
您可以尝试这样的事情
Dim o_slicer_item As Object
For Each o_slicer_item In ActiveWorkbook.SlicerCaches("Slicer_HeaderTitle").SlicerItems
If o_slicer_item.Selected = True Then MsgBox o_slicer_item.Name
Next
如果选择了项目名称,则只显示项目名称(因此无论计数如何,它都会显示每个所选项目的msgbox)。如果你只想显示一个(第一个,最后一个或第n个),你需要修改它以在正确的点上打破循环。