【ユーザーフォーム】オートフィルタを操作してデータ抽出:VBA

ユーザーフォーム_オートフィルタ操作をしてデータ抽出_アイキャッチ ExcelVBA

ユーザーフォームで、オートフィルタを操作してデータ抽出するマクロコードをご紹介します。

コマンドボタンをクリックして、オートフィルタを操作します。

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

ユーザーフォームを作成して開く

エクセルにコマンドボタンを作成し、ユーザーフォームを開きます。


 

マクロコードは、標準モジュール「Module1」に入力します。


Sub ボタン1_Click()
    UserForm1.Show vbModeless
End Sub

 

マクロコードを入力した画面の様子「Module1」


 

ユーザーフォーム内部にマクロコードを入力する

マクロコードは、「UserForm1」に入力します。


Private Sub CommandButton1_Click()

    If ActiveSheet.FilterMode = True Then
        ActiveSheet.ShowAllData
    End If
        
End Sub

Private Sub CommandButton2_Click()

    ActiveSheet.Range("A3").AutoFilter Field:=2, Criteria1:="準備中"

End Sub

Private Sub CommandButton3_Click()

    ActiveSheet.Range("A3").AutoFilter _
        Field:=4, Criteria1:="<=3", Operator:=xlAnd
        
End Sub

Private Sub CommandButton4_Click()

    ActiveSheet.Range("A3").AutoFilter _
        Field:=6, Criteria1:="神田A店"
    
End Sub

 

マクロコードを入力する場所「UserForm1」


 

動作

「納品日:準備中」をクリックすると、B列で「準備中」のデータを抽出します。


 

「数量:3以下」をクリックすると、D列で「3以下」の値を絞り込みします。


 

「神田A店」をクリックすると、F列で「神田A店」のデータを絞り込んで表示します。


 

「オートフィルタクリア」をクリックすると、全ての絞込を解除します。


 

この記事がお役に立ちますと幸いです。
 
・【ExcelVBA】ユーザーフォーム作成の事例まとめ
 

【VBAユーザーフォーム】何ができるの?:使用例34選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説