Vba を使用して列をフィルターする方法 (例あり)


VBA を使用して Excel で列でフィルタリングするには、次の方法を使用できます。

方法 1: 列の値に基づいてフィルターする

 SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub

この特定のマクロは、範囲A1:C11をフィルター処理して、最初の列がセルF2の値と等しい行のみを表示します。

方法 2: 複数の列の値に基づいてフィルタリングする

 SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
                                 Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub

この特定のマクロは、範囲A1:C11をフィルター処理して、最初の列がセルF2またはF3の値と等しい行のみを表示します。

方法 3: フィルターをクリアする

 SubClearFilters ()
ActiveSheet.AutoFilterMode = False
End Sub

この特定のマクロは、現在のシートからすべてのフィルターをクリアします。

次の例は、これらの各メソッドを実際に使用する方法を示しています。

例 1: 列の値に基づくフィルター

さまざまなバスケットボール選手に関する情報を含むデータセットがあり、Team 列の値が A に等しい行のみを含むようにデータセットをフィルターしたいとします。

これを行うには、次のマクロを作成できます。

 SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub

このマクロを実行すると、データセットは自動的にフィルター処理され、Team 列の値が A に等しい行のみが含まれるようになります。

セル値に基づいた VBA フィルター列

例 2: 複数の列値に基づくフィルター

Team 列の値が AまたはC に等しい行のみを含むようにデータセットをフィルターしたいとします。

これを行うには、次のマクロを作成できます。

 SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
                                 Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub

このマクロを実行すると、データセットは自動的にフィルター処理され、Team 列の値が AまたはC に等しい行のみを表示します。

複数の条件に基づいた VBA フィルター列

: VBA AutoFilterメソッドの完全なドキュメントはここにあります。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: ピボット テーブルを更新する方法
VBA: ピボット テーブルをフィルターする方法
VBA: 重複した値を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です