DateSerial関数:年、月、日を指定して日付の値を取得する

DateSerial 関数は Excel VBA で用意されている関数の一つで、引数に指定した年、月、日の各値から日付を表す Variant(Date) 型の値を取得します。ここでは Excel VBA における DateSerial 関数の使い方について解説します。

(Last modified: )

DateSerial関数の定義と使い方

DateSerial 関数は引数に指定した年、月、日の値から日付を表す値を返します。

DateSerial(year,month,day)

1 番目の引数に年を表す数値、 2 番目の引数に月を表す数値、 3 番目の引数に日を表す数値を指定します。戻り値として Variant 型(内部的に Date 型)の値を返します。

年に関しては 100 から 999 、月に関しては 1 から 12 、日に関しては 1 から 31 の数値を指定しますが、例えば日の値に 0 を指定すると前月の最終日、 -1 を指定すると前月の最終日の前日という意味になります。また例えば月の値に 13 を指定した場合は翌年の 1 月という意味になります。それぞれの値で -32,768 から 32,767 の範囲を超える値を指定するとエラーとなります。

次の例を見てください。

Debug.Print DateSerial(2021, 10, 07)  '2021/10/07
Debug.Print DateSerial(2021, 10, 0)   '2021/09/30
Debug.Print DateSerial(2021, 13, 07)  '2022/01/07

年、月、日を指定して日付の値を取得しています。負の数値にしたり、月であれば 12 、日であれば 31 を超える数値を指定することもできます。

サンプルコード

それでは簡単なサンプルを作成して試してみます。

Option Explicit

Sub DateSerial関数()
    Debug.Print DateSerial(1998, 6, 24)
    Debug.Print DateSerial(2021, 10, 7)
    Debug.Print DateSerial(2021, 10, 0)
    Debug.Print DateSerial(2021, 13, 7)
End Sub

DateSerial関数の定義と使い方(1)

このプログラムを実行すると DateSerial 関数を使って引数に指定した年、月、日から日付を表す値を取得できます。

DateSerial関数の定義と使い方(2)

-- --

Excel VBA における DateSerial 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。