• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel AutoFilterメソッドについて)

Excel AutoFilterメソッドでの月の範囲指定方法

このQ&Aのポイント
  • ExcelのVBAでAutoFilterメソッドを使用して特定の月のデータを抽出する方法について質問です。
  • 月の範囲指定において、30日で終わる月や28日、29日で終わる月にも対応する方法を教えてください。
  • 現在のコードでは月の範囲指定に困っており、どのように改善すればよいかアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

一例として、DateSerial関数を使う方法があります。   Dim aa As String   Dim i As Long   Dim ii As Long   Dim y As Long   On Error GoTo errout   aa = InputBox("抽出する取引先を入力してください")   If aa = "" Then Exit Sub   i = InputBox("抽出を開始する月は?※半角数字で入力してください")   ii = InputBox("抽出を終了する月は?※半角数字で入力してください")   y = Year(Date) '当年の場合。   Selection.AutoFilter Field:=2, Criteria1:=aa   Selection.AutoFilter Field:=1, Criteria1:=">=" & DateSerial(y, i, 1), Operator:=xlAnd, _                   Criteria2:="<=" & DateSerial(y, ii + 1, 0)   Exit Sub errout:   MsgBox Err.Number & "::" & Err.Description

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問の表題がおかしい。 月指定の月末日の取得のもんだい。 何月を指定しないと、月末日は決らないだろう。 ーーー Sub test01() ym = InputBox("年月yyyymm") y = Mid(ym, 1, 4) m = Mid(ym, 5, 2) lmd = Day(DateSerial(y, m + 1, 1) - 1) MsgBox lmd End Sub ーー 上記は常套手段で、目新しい物ではない。 エクセル日付シリアル値の有難いところ。