Excel VBA - 从切片器

时间:2016-04-15 01:34:16

标签: excel vba

我有一个带有单个选定元素的切片器,我只需要使用我的数据切片器中所选项目的相应文本调暗变量。我试过这个没有运气:

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

1 个答案:

答案 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个),你需要修改它以在正确的点上打破循环。