如何使用VBA通过数据透视切片器进行过滤?

时间:2019-02-19 10:41:42

标签: excel vba pivot-table

我有一个最终提取PDF的宏。

当然,PDF上显示的内容取决于枢轴被过滤的方式,在这种情况下,使用切片器进行过滤。

我需要提取当前月份的PDF,并将其过滤为+3个月。

我该怎么做?因此,例如,如果用户在三月选择了切片器,则宏将仅提取三月的PDF,但我需要它也提取同一PDF文件中的四月,五月和六月(因此文件中有4页) 。我希望这是有道理的。

有没有一种方法可以对宏进行编码以选择month + 1,month + 2等?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,如果用户在切片器中选择了一个月,则希望VBA宏在切片器中另外选择month + 1,+ 2,+ 3?

此VBA宏可以执行此操作。您可以以此为基础来入门:

Option Explicit

Sub Select4Slices()

Dim slicer As SlicerCache
Dim slice As SlicerItem
Dim selectNextOne As Boolean
Dim selectedCount As Integer

Set slicer = ThisWorkbook.SlicerCaches(1)
For Each slice In slicer.SlicerItems
    If slice.Selected Then
        selectNextOne = True
        selectedCount = selectedCount + 1
    Else
        If selectNextOne Then
            slice.Selected = True
            selectedCount = selectedCount + 1
        End If
    End If

    If selectedCount >= 4 Then
       Exit For
    End If
Next slice

End Sub