因此,我想从我的“部门”切片器中检索选定的项目,并将它们存储在一个字符串中。然而,当我测试这个项目时,我只得到最后一个项目,它甚至没有被选中。这对于设置来自部门的相同项目的DepartmentX切片器非常有用,但是我只想将所选的项存储在字符串中。任何帮助都将不胜感激。
这是我到目前为止所拥有的
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim PT1 As PivotTable, PT2 As PivotTable
Dim slc1 As Slicer, slc2 As Slicer
Dim slcCache1 As SlicerCache, slcCache2 As SlicerCache
Dim slcItem1 As SlicerItem, slcItem2 As SlicerItem
Dim slicer_data As String
If Sh.Name = "GP YTD - Tooling (FYE 2016)" Then
Set PT1 = Sheets("Sheet1").PivotTables
("PivotTable2") '(1)
Set slc1 = PT1.Slicers("Department") '(1)
Set slcCache1 = slc1.SlicerCache
Set PT2 = Sheets("Sheet2").PivotTables
("PivotTable3") '(2)
Set slc2 = PT2.Slicers("DepartmentX") '(2)
Set slcCache2 = slc2.SlicerCache
slcCache2.ClearManualFilter
For Each slcItem1 In slcCache1.SlicerItems
slcCache2.SlicerItems(slcItem1.Name).Selected = slcItem1.Selected
slicer_data = slcItem1.Name
Application.EnableEvents = True
Next slcItem1
MsgBox "Selected" & slicer_data
End If
End Sub发布于 2017-03-27 11:19:52
修改最后一部分如下:
For Each slcItem1 In slcCache1.SlicerItems
slcCache2.SlicerItems(slcItem1.Name).Selected = slcItem1.Selected
If slcItem1.Selected Then slicer_data = slicer_data & "," & slcItem1.Name
Application.EnableEvents = True
Next slcItem1
MsgBox "Selected" & Mid$(slicer_data, 2)https://stackoverflow.com/questions/43044729
复制相似问题