日時に関するVBA関数

VBA関数のテスト

下図の状態で、

テスト結果に関数の戻り値が入力されるように、以下のコードを実行すると、

Sub test1()
    
    Cells(3, 5) = Now
    Cells(4, 5) = Date
    Cells(5, 5) = Time
    
    Cells(6, 5) = Year(Date)
    Cells(7, 5) = Month(Date)
    Cells(8, 5) = Day(Date)

End Sub

下のようになります。

Year/Month/Dayの引数

Year/Month/Dayの引数は、

  • Now
  • Date
  • シリアル値
  • 文字列

が可能です。

Yearについて、下記のコードでテストしてみます。

Sub test2()
    
    Debug.Print Year(Now)
    Debug.Print Year(Date)
    Debug.Print Year(46023)     '2026/1/1のシリアル値
    Debug.Print Year("2026/1/1")

End Sub

すると、イミディエイトウィンドウには、下図のように表示され、すべて同じ戻り値だとわかります。

参考文献

Excel VBA でちゃんとしたアプリを作る本 | 田中 徹 |本 | 通販 | Amazon

投稿時の環境

  • Windows11 Home Ver. 25H2
  • Excel for Microsoft 365 Ver. 2607