Sub Macro1() '指定セルの値を参照し、フィルターを起動するマクロ Dim Sht1 As Worksheet Dim Buf As String Set Sht1 = Sheets("Sheet1") '作業シート名を入力する For i = 4 To 6 '特定列に適用 Buf = Sht1.Cells(4, i).Value 'フィルタ参照するセルを入力 行番号と列番号 If Len(Buf) > 0 Then Range("E6").AutoFilter (i - 1), "*" & Buf & "*" '起動先フィルタがE6にあり、i-1列目に適用 Else Range("E6").AutoFilter (i - 1) 'i-1列目のフィルタ解除 End If Next End Sub Sub Macro2() 'フィルタを解除して全て表示するマクロ Dim Sht1 As Worksheet Dim Buf As String For i = 2 To 9 '特定列に適用 Range("E6").AutoFilter (i - 1)'i-1列目のフィルタ解除 Next End Sub