エクセルマクロで、オートフィルタの範囲を自動設定するVBAコードをご紹介します。
フィルタ範囲設定(Range指定)
以下のExcelVBAを実行すると、オートフィルタを自動で設定します。
Sub オートフィルタ適用範囲設定()
Range("A1:D13").AutoFilter
End Sub
マクロ実行後
指定範囲にオートフィルタを設定しました。
フィルタ範囲設定(UsedRange使用)
以下のExcelVBAを実行すると、オートフィルタを自動で設定します。
Sub オートフィルタ範囲設定()
ActiveSheet.UsedRange.AutoFilter
End Sub
マクロ実行後
[UsedRange] を使用してフィルタ設定しました。
[UsedRange] は、シートで使用されているセルの範囲を全て取得します。
フィルタ範囲設定(変数使用)
以下のExcelVBAを実行すると、オートフィルタを自動で設定します。
Sub オートフィルタ適用エリア設定()
Dim LastRow As Long
Dim LastClm As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
LastClm = Range("A1").End(xlToRight).Column
Range(Cells(1, 1), Cells(LastRow, LastClm)).AutoFilter
End Sub
マクロ実行後
オートフィルタを自動設定しました。
”最終行” と ”最終列” を変数に格納して範囲指定しています。
フィルタ範囲設定(セル範囲をset)
以下のExcelVBAを実行すると、オートフィルタを自動で設定します。
Sub オートフィルタ適用範囲設定()
Dim buf As Range
Set buf = Range("A1:D13")
buf.AutoFilter
End Sub
マクロ実行後
指定範囲にオートフィルタを設定しました。
[Set buf] を使用して、セル範囲を変数に代入しています。
動画の解説もぜひご覧ください!
この記事がお役に立ちますと幸いです。

【エクセルマクロ】オートフィルタ処理を自動化:超便利25選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク