DateSerial関数:年、月、日を指定して日付の値を取得する
DateSerial 関数は Excel VBA で用意されている関数の一つで、引数に指定した年、月、日の各値から日付を表す Variant(Date) 型の値を取得します。ここでは Excel VBA における DateSerial 関数の使い方について解説します。
(Last modified: )
DateSerial関数の定義と使い方
DateSerial
関数は引数に指定した年、月、日の値から日付を表す値を返します。
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
関数を使って引数に指定した年、月、日から日付を表す値を取得できます。
-- --
Excel VBA における DateSerial 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。