ateneva
4/22/2017 - 10:11 AM

ForEachTableInWbk_FilterAllTablesInWbk.bas

Option Explicit

Sub FilterAllTablesInActiveSheet()

Dim Wks As Worksheet
Dim T As ListObject
Dim i As Integer

Dim bU As String
bU = ActiveSheet.Range("C6").Value
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For Each Wks In ThisWorkbook.Worksheets
 If Wks.Visible = True Then Wks.Activate

    If ActiveSheet.ListObjects.Count > 0 Then
    
        For Each T In ActiveSheet.ListObjects
            If bU = "All" Then
                T.Range.AutoFilter Field:=1
                Else
                T.Range.AutoFilter Field:=1, Criteria1:=bU
            End If
        Next T
    End If

Next Wks
End Sub