Omg I wish I saw this earlier. I came up with this on Friday and worked on it this morning but I know there is an easier way with better looping but I'm just a super beginer at VBA.
User would either type their user code or type clear to clear all the filters. Or cancel to get out of it all.
Sub Rectangle1_Click()
Dim UserInput As String
Dim strWorksheet As String
Dim strWorkSheetPath As String
Dim sht As Worksheet
Dim wkb As Workbook
Dim rng As Range
UserInput = InputBox("Enter User Code ", "Auto Filter")
If UserInput = vbNullString Then Exit Sub
Set wkb = ActiveWorkbook
Set sht = Worksheets(1)
Set sht1 = Worksheets(2)
Set sht2 = Worksheets(3)
Set sht3 = Worksheets(4)
Set sht4 = Worksheets(5)
Set sht5 = Worksheets(6)
Set sht6 = Worksheets(7)
Set sht7 = Worksheets(8)
Set sht8 = Worksheets(9)
Set sht9 = Worksheets(10)
Set sht10 = Worksheets(11)
Set sht11 = Worksheets(12)
Set sht12 = Worksheets(13)
Set sht13 = Worksheets(14)
Set sht14 = Worksheets(15)
Set sht15 = Worksheets(16)
Set sht16 = Worksheets(17)
sht.Activate
With sht
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht1.Activate
With sht1
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht2.Activate
With sht2
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht3.Activate
With sht3
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht4.Activate
With sht4
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht5.Activate
With sht5
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht6.Activate
With sht6
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht7.Activate
With sht7
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht8.Activate
With sht8
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht9.Activate
With sht9
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht10.Activate
With sht10
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht11.Activate
With sht11
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht12.Activate
With sht12
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht13.Activate
With sht13
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht14.Activate
With sht14
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht15.Activate
With sht15
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht16.Activate
With sht16
If UserInput <> "clear" Then ActiveSheet.ListObjects("Table17").Range.AutoFilter Field:=1, Criteria1:=UserInput
If UserInput = "clear" Then ActiveSheet.ListObjects("Table17").Range.AutoFilter Field:=1, Criteria1:=Null
End With
sht.Activate
End Sub
Bookmarks