Thank you. Perhaps something like this
Dim item, items
Application.EnableEvents = False
Application.ScreenUpdating = False
items = array("Region", "Field 2", "Field3")
For Each pt In wsMain.PivotTables
If pt <> ptMain Then
pt.ManualUpdate = True
for each item in items
Set pfMain = ptMain.PivotFields(item)
bMI = pfMain.EnableMultiplePageItems
Set pf = pt.PivotFields(item)
bMI = pfMain.EnableMultiplePageItems
With pf
.ClearAllFilters
Select Case bMI
Case False
.CurrentPage = pfMain.CurrentPage.Value
Case True
.CurrentPage = "(All)"
For Each pi In pfMain.PivotItems
.PivotItems(pi.Name).Visible = pi.Visible
Next pi
.EnableMultiplePageItems = bMI
End Select
End With
bMI = False
Set pf = Nothing
next item
pt.ManualUpdate = False
End If
Next pt
Application.EnableEvents = True
Application.ScreenUpdating = True
Bookmarks