前提・実現したいこと
VBAでエクセルのマクロを作っています。
表にマクロでオートフィルターをかけて日付の入った項目列に指定月を抽出する機能を実装中に、以下のエラーメッセージが発生しました。
該当のソースコード
VBA
1 2 Dim sales_s As Worksheet 3 4' Worksheets(1).Copy After:=Worksheets(Worksheets.Count) 5 6 Set sales_s = targetWorkbook.Worksheets(1) 7 8 9With sales_s 10 11 Dim cnt_t As Long 12 cnt_t = .Rows(1).Find("実績日").Column 13 14 Dim cnt_last As Long 15 Dim cnt_n As Long 16 cnt_last = .Cells(Rows.Count, 1).End(xlUp).Row 17 18 Dim fmt_01 As Date 19 Dim fmt_02 As Date 20 .Range("a1").AutoFilter 21 22 For cnt_n = 2 To cnt_last 23 24 If .Cells(cnt_n, cnt_t) <> "" Then 25 26 Range("A1").AutoFilter Field:=6, _ 27 Criteria1:=">=" & CDate(Format(fmt_01, "2020/01/01")), _ 28 Criteria2:="<=" & CDate(Format(fmt_02, "2020/01/31")), _ 29 Operator:=xlAnd 30 End If 31 32 With ActiveSheet.AutoFilter.Filters(6) 33 MsgBox .Criteria1 & vbCrLf & .Criteria2 34 End With 35 36 Next cnt_n 37 38End With 39 40Exit Sub 41
結果:実績日の項目欄にオートフィルターは設定されているのですが、
何もデータが抽出されていません。(該当データは存在します)
試したこと
該当月の開始日付と終了日付を指定してdate型に変換しました。
MsgBoxにはシリアル値が表示されてしまいます。
シリアル値を日付で表示させれば、フィルターに引っかかると思いますが、
変換されません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/05 11:11