DateSerial関数で月末月初の日付を指定

 

Sub test()
 ’ DateSerial関数で月末月初の日付を指定

 

 '当日
    Range("A1") = "当日"
    Range("B1") = DateSerial(Year(Now), Month(Now), Day(Now))
    
    '当月月初
    Range("A2") = "当月月初"
    Range("B2") = DateSerial(Year(Now), Month(Now), 1)
    
    '当月末
    Range("A3") = "当月末"
    Range("B3") = DateSerial(Year(Now), Month(Now) + 1, 0)
    
    '翌月月初
    Range("A4") = "翌月月初"
    Range("B4") = DateSerial(Year(Now), Month(Now) + 1, 1)
    
    '翌月末
    Range("A5") = "翌月末"
    Range("B5") = DateSerial(Year(Now), Month(Now) + 2, 0)
    
    '前月月初
    Range("A6") = "前月月初"
    Range("B6") = DateSerial(Year(Now), Month(Now) - 1, 1)
    
    '前月末
    Range("A7") = "前月末"
    Range("B7") = DateSerial(Year(Now), Month(Now), 0)
    
    '前年の当日
    Range("A8") = "前年の当日"
    Range("B8") = DateSerial(Year(Now) - 1, Month(Now), Day(Now))
    
    '来年の当日
    Range("A9") = "来年の当日"
    Range("B9") = DateSerial(Year(Now) + 1, Month(Now), Day(Now))


End Sub

 

DateSerial関数の構文:DateSerial(Year, Month, Day)

月初はDateSerial(Year, Month, Day)で、Dayを「1」に指定すればいいです。月末の場合、毎月末日が変わってしまうので、具体的な日付を指定するより、月数に1を足した上、Dayを「0」にすれば、当月末を指定可能になります。同じ理屈で、前月末・翌月末なども設定可能です。

 

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る 

 

参考記事