【エクセルマクロ】オートフィルタで以上以下を抽出:条件指定

エクセルマクロ:オートフィルタで以上以下を抽出アイキャッチ エクセルマクロで効率化する

エクセルマクロで、オートフィルタで以上以下を抽出するVBAコードをご紹介します。

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

オートフィルタで以上以下を抽出

以下のマクロを実行すると、オートフィルタで以上以下を抽出します。

Sub オートフィルタで以上以下を抽出する()
    
    ActiveSheet.Range("A1").AutoFilter Field:=2, Criteria1:=">=30", _
        Operator:=xlAnd, Criteria2:="<=39"

End Sub

 

マクロ実行後

B列を「30以上、39以下」の条件で抽出しました。

[Field:2] は条件の対象となる列番号を指定します。
(B列の列番号は ”2” )


 
 

オートフィルタで以上以下を抽出(変数使用)

以下のマクロを実行すると、変数を使用してオートフィルタで以上以下を抽出します。

Sub 変数を使用してオートフィルタで以上以下を抽出する()

Dim Higher As String
Dim Lower As String
     
    Higher = ">=30"
    Lower = "<=39"
     
    ActiveSheet.Range("A1").AutoFilter Field:=2, Criteria1:=Higher, _
        Operator:=xlAnd, Criteria2:=Lower
 
End Sub

 

マクロ実行後

B列を「30以上、39以下」の条件で抽出しました。

変数にフィルタ条件を格納して、データを抽出します。


 
 

オートフィルタで以上以下を抽出(変数使用)

以下のマクロを実行すると、変数を使用してオートフィルタで以上以下を抽出します。

Sub 変数を使用してオートフィルタで以上以下を抽出する()

Dim Higher As Long
Dim Lower As Long
    
    Higher = Range("B2")
    Lower = Range("B3")
    
    ActiveSheet.Range("A5").AutoFilter Field:=2, Criteria1:=">=" & Higher, _
        Operator:=xlAnd, Criteria2:="<=" & Lower

End Sub

 

マクロ実行後

B列を「20以上、39以下」の条件で抽出しました。

条件をセルB2とセルB3に入力し、変数に格納してデータを抽出します。


 
 

オートフィルタで以上以下を抽出(色判別)

以下のマクロを実行すると、色で条件を判別してオートフィルタで以上以下を抽出します。

Sub 色で条件を判別してオートフィルタで以上以下を抽出する()

Dim Higher As String
Dim Lower As String
Dim i As Long
Dim LastRow As Long

    'B列の最終行を取得
    LastRow = Cells(Rows.Count, 2).End(xlUp).Row

    'B列をループ
    For i = 2 To LastRow
    
        '背景色が黄色だったら 「以上」
        If Cells(i, 2).Interior.Color = 65535 Then
            Higher = Cells(i, 2)
            
        '背景色が青色だったら 「以下」
        ElseIf Cells(i, 2).Interior.Color = 15773696 Then
            Lower = Cells(i, 2)
        End If
             
    Next i
     
    'オートフィルタ抽出
    ActiveSheet.Range("A1").AutoFilter Field:=2, Criteria1:=">=" & Higher, _
        Operator:=xlAnd, Criteria2:="<=" & Lower
 
End Sub

 

マクロ実行後

黄色セルを「以上」の条件として取得し、
青色セルを「以下」の条件として取得してデータを抽出します。

 
 

【エクセルマクロ】オートフィルタで最大値・最小値を抽出する
...