• ベストアンサー

VBAで先月、先々月を求める方法

Excel マクロで 先月、先々月を求め 「3月」「4月」(今月は5月) と表示させたいのですが、どのようにして 求めたらよいのでしょうか?

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

Sub test01() sg = DateSerial(Year(Date), Month(Date), 0) ssg = DateSerial(Year(Date), Month(Date) - 1, 0) MsgBox "先月は" & Month(sg) & "月、先々月は" & Month(ssg) & "月" End Sub では?

masaki1976
質問者

お礼

ありがとうございます 見事、自動入力させることができました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

Public Sub sample() Dim 今月 As Integer Dim 先月 As Integer Dim 先々月 As Integer 今月 = InputBox("今月は何月ですかぁ?", "月を入力して下さい", Month(Date)) 先月 = 今月 - 1 If 先月 = 0 Then 先月 = 12 先々月 = 先月 - 1 If 先々月 = 0 Then 先々月 = 12 MsgBox "先々月=" & 先々月 & "月,先月=" & 先月 & "月(今月は" & 今月 & "月)" End Sub

masaki1976
質問者

お礼

ありがとうございます。 しかし、自動入力にしたいのでinputbox は避けたいです

  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.1

「=EDATE(TODAY(),1)」で一ヵ月後の日付が返されます。 「1」を「-1」にすれば一ヶ月前が返されます。 後はセルの書式を変更します。 これじゃだめですか?

masaki1976
質問者

お礼

ありがとうございます。 これでも、できました。 お礼もうしあげます