Как использовать VBA для фильтрации с помощью среза Pivot? - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть макрос, который в конечном итоге извлекает PDF.

Конечно, то, что отображается в PDF, зависит от того, по чему фильтруется сводная таблица, в этом случае она фильтруется с помощью среза.

Мне нужно извлечь PDF за текущий месяц, он отфильтрован по +3 месяцам.

Как мне это сделать?Так, например, если пользователь выбрал срез на март, макрос извлечет PDF только за март, но мне понадобится также извлечь апрель, май и июнь в одном и том же PDF-файле (т.е. 4 страницы в файле),Надеюсь, в этом есть какой-то смысл.

Есть ли способ, которым вы можете закодировать макрос, чтобы выбрать месяц + 1, месяц + 2 и т. Д.?

1 Ответ

0 голосов
/ 19 февраля 2019

Если я правильно понимаю ваш вопрос, если пользователь выбирает один месяц в слайсере, вы хотите, чтобы макрос VBA дополнительно выбирал месяц + 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
...