絞り込む期間の指定
表の中からある期間のデータのみを絞り込みたい場合、下のような設定方法があります。
1.XlDynamicFilterCriteriaで条件を指定する
・引数Citeria1 に XlDynamicFilterCriteria から該当する期間を指定
・引数Operator に xlFilterDynamic を指定
2.演算子を使う
・引数Criteria1と引数Criteria2に演算子を使って期間を指定
・引数Operatorに xlAnd または xlOr を指定
3.Arrayを使う(複数日)
・引数Criteria1にArray関数を使って期間を指定
・引数Operatorに xlFilterValues を指定
サンプルコード
まず、以下の表をA1セルに貼り付けてください。
| 日付 | 担当者 |
| 2025/1/1 | Aさん |
| 2025/2/26 | Cさん |
| 2025/3/12 | Bさん |
| 2025/4/25 | Aさん |
| 2025/5/5 | Bさん |
| 2025/6/18 | Cさん |
| 2025/8/9 | Cさん |
| 2025/11/12 | Aさん |
| 2025/12/22 | Cさん |
Public Sub Sample()
'■XlDynamicFilterCriteria定数を使う
'今月のみ
Range("A1").AutoFilter Field:=1, Criteria1:=xlFilterThisMonth, Operator:=xlFilterDynamic
'■演算子を使う
'3/12のみ
Range("A1").AutoFilter Field:=1, Criteria1:="2025/3/12"
'1/1~6/30まで
Range("A1").AutoFilter Field:=1, Criteria1:=">=2025/1/1", _
Operator:=xlAnd, Criteria2:="<=2025/6/30"
'3/1~5/31以外
Range("A1").AutoFilter Field:=1, Criteria1:=">2025/3/1", _
Operator:=xlOr, Criteria2:="<2025/5/31"
'■Arrayを使う
'3/12,8/9,12/22のみ
Range("A1").AutoFilter Field:=1, _
Criteria1:=Array("2025/3/12", "2025/8/9", "2025/12/22"), _
Operator:=xlFilterValues
End Sub
注意点
- 日付の指定にワイルドカード(*)は使用できません。
- 日付の書式は完全に一致していなければなりません。(データが01/01なら1/1は不可)
- XlDynamicFilterCriteria の一覧はコチラです。



コメント