从切片器(VBA)返回多个选择

时间:2014-08-29 17:17:28

标签: excel vba

我有这个问题,我试图从切片器列中提取(选定)值...切片器让我们说10种水果。如果我点击水果,我希望它填充在另一个单元格/输出中。所以我需要编写一个代码来返回我从切片器中定义的选择字符串。因此,如果切片机包含苹果,香蕉和梨的选择。它应该在输出单元格中填充并用逗号分隔,如下所示:苹果,香蕉,梨。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要的是切片器项目对象的名称属性
为此,您需要访问工作簿对象 SlicerCaches Collection 中的特定 SlicerCache对象
然后使用 VisibleSlicerItems Property 遍历每个可见项目以获取单个项目名称。

类似的东西:

Sub GetSlicerItems()
    Dim s As SlicerCache
    Dim sItm As SlicerItem, myitems As String

    Set s = ThisWorkbook.SlicerCaches("Slicer_Name")
    For Each sItm In s.VisibleSlicerItems
        If myitems = "" Then myitems = sItm.Name Else _
            myitems = myitems & ", " & sItm.Name
    Next
    Debug.Print myitems
End Sub

你在哪里获得 Slicer_Name ?它位于名称下的切片器设置下,用于公式:。 HTH。