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