エクセルマクロで、オートフィルタで以上以下を抽出する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
黄色セルを「以上」の条件として取得し、
青色セルを「以下」の条件として取得してデータを抽出します。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】オートフィルタ処理を自動化する使用例まとめ
【エクセルマクロ】オートフィルタ処理を自動化:超便利28選
...
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク