【エクセルマクロ】オートフィルタの範囲設定:使用例5選(動画あり)

エクセルマクロ_オートフィルタ範囲設定_アイキャッチ ExcelVBA

エクセルマクロで、オートフィルタの範囲を自動設定するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

フィルタ範囲設定(指定範囲①)

以下のExcelVBAを実行すると、オートフィルタを自動で設定します。


Sub オートフィルタ適用範囲設定()
    
    Range("A1:D13").AutoFilter
    
End Sub
マクロ実行後

指定範囲にオートフィルタを設定します。


 
 

フィルタ範囲設定(指定範囲②)

以下のExcelVBAを実行すると、指定行からオートフィルタを設定します。


Sub オートフィルタ適用範囲設定()

    Range("A5:D16").AutoFilter

End Sub
マクロ実行後

5行目からオートフィルタを設定します。


 
 

フィルタ範囲設定(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] を使用して、セル範囲を変数に代入しています。


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】オートフィルタ処理を自動化する使用例まとめ
 

【エクセルマクロ】オートフィルタ処理を自動化:超便利27選
...

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載