VBA 年・月・日から日付データを取得するDateSerial関数

スポンサーリンク

DateSerial【デイトシリアル】関数

年・月・日を個別に指定してDate【デイト】型の値をもとめるには、DateSerial【デイトシリアル】関数を使用します。。引数Yera【イヤー】・Month【マンス】・Day【ディ】に指定された整数型の値からバリアント型(内部処理形式DateのVariant)の日付データを返します。それぞれの引数に数式を指定することも可能です。各引数の数値範囲を超えた値を設定した場合、その超過分は繰り上げられます。

DateSerial【デイトシリアル】関数の書式と引数の説明

DateSerial(Year,Month,Day)
【戻り値】バリアント型(内部処理形式DataのVariant)

  • Year【イヤー】(必須)
    年を表す整数型の数値を 100~9999の範囲で指定します。
  • Month【マンス】(必須)
    月を表す整数型の数値を 1~12の範囲で指定します。
  • Day【デイ】(必須)
    日を表す整数型の数値を 1~31の範囲で指定します。

※各引数で指定した日付が西暦100年1月1日~9999年12月31日の
範囲内にない場合は、エラーが発生します。
※引数Yearに、西暦を2桁に省略して指定する場合は0~29の値の場合は2000年~2029年30~99の値の場合は1930~1999年と認識されますが混乱を避けるためにも、西暦は4桁で指定しましょう。


今月の末日をもとめるコードと解説

Sub 今月末日()
MsgBox DateSerial(Year(Date), Month(Date) + 1, 0) 
End Sub
DateSerial【デイトシリアル】関数の第一引数Year【イヤー】にYear【イヤー】関数の引数にDate【デイト】関数を指定して「現在の年」を取得しす。第二引数Month【マンス】にMonth【マンス】関数の引数にDate【デイト】関数を指定して「現在の月」を取得して「1」を加算して翌月にしています。第三引数のDay【デイ】に「0」を指定して「翌月の1日前」つまり「今月末日」を取得しています。MsgBox関数で表示をしています。

実行結果

DateSerial 【デートシリアル】関数使用例

使用例 結果
DateSerial(2017, 5, 1) 2017/05/01
DateSerial(2017, 5, 0) Day「0」は前月末日なので
「2017/04/30」
DateSerial(2017, 5, 32) Day「32」は翌月1日なので
「2017/06/01」
DateSerial(2017, 0, 1) Month「0」は前年12月なので
「2016/12/1」
DateSerial(2017, -1, -1) Month「-1」が前年11月Day「-1」が前月末日-1日なので
「2016/10/30」

DateSerial 【デイトシリアル】関数を使用したコード例リンク

別々のセルに分割された年月日を結合して日付データにする


以上で、DateSerial 【デイトシリアル】関数についての解説を終了します。ありがとうございました。

日付・時刻関数一覧表

日付や時刻の関数一覧表です。
関数名がリンクになっています。
クリックすると詳細説明ページが開きます。
関数名説明
Date現在の「日付」を取得します。
Year日付から「年」を取得します。
Month日付から「月」を取得します。
Day日付から「日」を取得します。
DatePart年・月・日を部分的に取得します。
Now現在の「日時」を取得します。
Time現在の「時刻」を取得します。
Hour時刻の「時」を取得します。
Minute時刻の「分」を取得します。
Second時刻の「秒」を取得します。
Weekday曜日を表す「整数値」を取得します。
WeekdayName曜日を表す整数値を「曜日名」に変換します。
DateSerial年・月・日を表す整数値から日付データに変換します。
TimeSerial時・分・秒を表す整数値から時刻データに変換します。
DateDiff日付や時間の間隔を計算します。
DateAdd時間を加算または減算した日付や時刻を取得します。
Timer経過した秒数を取得します。
CDateデータ型を日付型に変換します。
IsDate日付や時刻として扱えるかを調べます。
DDateValueateValue日付を表す文字列式を日付型(Date)に変換します。
TimeValueTimeValue時刻を表す文字列式を日付型(Date)に変換します。

スポンサーリンク

関連記事・広告