サイトについて      連絡先   検索

VBA DateSerial 関数

はじめに

Excel VBA マクロの DateSerial 関数を紹介します。

DateSerial 関数は、指定した年月日の日付を返します。

変数に入れた数値から日付を取得したいときに使用します。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

DateSerial(, , )
指定したの日付を取得します。

引数「年」年の値を指定します。
引数「月」月の値を指定します。
引数「日」日の値を指定します。
戻り値の型日付型 (Date)

解説

引数「年」が 2 桁なら0 ~ 292000 ~ 2029 年30 ~ 991930 ~ 1999 年になります。

引数「月」には1 ~ 12の他に 0 以下や 13 以上も指定できます。13なら翌年の 1 月になります。

引数「日」には1 ~ 31の他に 0 以下や 32 以上も指定できます。1 月の32なら翌月の 1 日になります。

日付型の範囲は西暦100年1月1日 ~ 西暦9999年12月31日です。これを超える値を指定したときはエラーが発生します。

使用例


Dim d As Date

d = DateSerial(2000, 1, 2)
Debug.Print(d) ' 2000/01/02

d = DateSerial(0, 3, 4)
Debug.Print(d) ' 2000/03/04

d = DateSerial(99, 1, 1)
Debug.Print(d) ' 1999/01/01

d = DateSerial(2000, 0, 1)  ' 月が 0
Debug.Print(d) ' 1999/12/01

d = DateSerial(2000, 13, 1) ' 月が 13
Debug.Print(d) ' 2001/01/01

d = DateSerial(2000, 1, -1) ' 日が -1
Debug.Print(d) ' 1999/12/30

d = DateSerial(2000, 1, 33) ' 日が 33
Debug.Print(d) ' 2000/02/02

日付を指定するのに変数の値が使えます。


Dim 年 As Integer
Dim 月 As Integer
Dim 日 As Integer
年 = 2000 ' Year(Now) など
月 = 1    ' Month(Now) など
日 = 31   ' Day(Now) など

Dim d As Date
d = DateSerial(年, 月, 日)
Debug.Print(d) ' 2000/01/31
  • 目次
    • 構文
    • 解説
    • 使用例