Private Sub test()
Set sh = ActiveSheet
On Error Resume Next
Application.ScreenUpdating = 0
With Sheets("DETAILS").PivotTables(1).PivotFields("Element")
.ClearAllFilters
For lngindex = .PivotItems.Count To 1 Step -1
Select Case UCase(Left(.PivotItems(lngindex).Name, 4))
Case "NORT"
.PivotItems(lngindex).Visible = sh.OptionButtons(1).Value = 1
Case "SOUT"
.PivotItems(lngindex).Visible = sh.OptionButtons(2).Value = 1
Case "WEST"
.PivotItems(lngindex).Visible = sh.OptionButtons(4).Value = 1
Case "EAST"
.PivotItems(lngindex).Visible = sh.OptionButtons(3).Value = 1
End Select
Next
End With
Application.ScreenUpdating = 1
End Sub
Although I think you might be better off creating a new field for Areas N/S/E/W and filtering the report by those.
Bookmarks