Фильтрация нескольких сводных таблиц на основе выпадающих списков с использованием VBA

Я надеюсь, что кто-то может помочь. У меня есть инструментальная панель, созданная кем-то другим, где на листах есть множество таблиц, все из которых работают от выбора даты раскрывающегося списка (От-К) на листе 1. Мне было предложено добавить к этому, и я создал сводные таблицы, которые наиболее подходят для работа. У меня проблема в том, что они нужны мне для фильтрации по выпадающим датам на листе 1.

Я надеюсь, что это возможно через VBA.

Я был в состоянии получить мои сводные отчеты для фильтрации на основе другого раскрывающегося списка, который основан на тексте. Но я не могу заставить один и тот же код (когда он настроен на настройку «месяц» и соответствующую раскрывающуюся ячейку) работать для выбора даты, и я также не могу понять, как разрешить множественный выбор, чтобы я мог выбрать диапазон дат.

Код, который я использовал, выглядит следующим образом:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ws As Worksheet
Dim pt As PivotTable
Dim pi As PivotItem
Dim strField As String

strField = "Region"

On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False

If Target.Address = Range("D2").Address Then

    For Each ws In ThisWorkbook.Worksheets
        For Each pt In ws.PivotTables
            With pt.PageFields(strField)
                For Each pi In .PivotItems
                    If pi.Value = Target.Value Then
                        .CurrentPage = Target.Value
                        Exit For
                    Else
                        .CurrentPage = "(All)"
                    End If
                Next pi
            End With
        Next pt
    Next ws

End If

Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

Буду очень признателен за любую помощь Я довольно новичок в VBA и стараюсь изо всех сил настроить код, который я нахожу в Интернете, но изо всех сил.

Спасибо

Пересмотрено: я также попробовал приведенный ниже код, который я нашел в другом месте, который использовался для выбора диапазонов дат

Sub FilterPivotDates()
'
Dim dStart As Date
Dim dEnd As Date
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem

Application.ScreenUpdating = False
On Error Resume Next

dStart = Sheets("Pivots").Range("F2").Value
dEnd = Sheets("Pivots").Range("f3").Value

Set pt = ActiveSheet.PivotTable1
Set pf = pt.PivotFields("Month")

pt.ManualUpdate = True

pf.EnableMultiplePageItems = True

For Each pi In pf.PivotItems
  pi.Visible = True
Next pi

For Each pi In pf.PivotItems
 If pi.Value < dStart Or pi.Value > dEnd Then
pi.Visible = False
End If
Next pi

Application.ScreenUpdating = False
pt.ManualUpdate = False

Set pf = Nothing
Set pt = Nothing

End Sub

В примере я обнаружил, что этим управляла кнопка, но я просто попробовал это на листе. Но это также не работает для меня.

Ответы на вопрос(1)

Ваш ответ на вопрос