There are a couple of ways to do this. Since you didn't specify what you wanted done with the unique values I will assume you want them copied to another sheet (Sheet2 in this case). I also assumed each named range had a header which you didn't want counted.
Sub Find_Uniques_inNamed_Ranges()
Dim ws1 As Worksheet: Set ws1 = Sheets("Sheet1") 'source sheet
Dim ws2 As Worksheet: Set ws2 = Sheets("Sheet2") 'output Sheet
Dim arrRange As Variant
Dim i As Integer
arrRange = Array("Zone_101", "Zone_102", "Zone_103") 'you will need to add the rest of the names. Follow the same format.
Application.ScreenUpdating = False
For i = LBound(arrRange) To UBound(arrRange)
ws1.Range(arrRange(i)).AdvancedFilter xlFilterInPlace, , , True
ws1.Range(arrRange(i)).Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy Destination:=ws2.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
Next i
ws1.ShowAllData
ws1.UsedRange.EntireRow.Hidden = False
Application.ScreenUpdating = True
End Sub
Bookmarks