【機能】
引数に指定された年、月、日に対応する日付をバリアント型 (内部処理形式が日付型 (Date) の Variant) の値で返します。【構文】
DateSerial(year, month, day)引数 | 内容 |
---|---|
year | 年を表す 100 ~ 9999 の範囲の数値または任意の数式を指定します。 |
month | 任意の数式を指定します。 |
day | 任意の数式を指定します。 |
【解説】
日付を指定する場合、引数はそれぞれ正しい範囲内にある必要があります。月については 1 ~ 12、日については 1 ~ 31 です。また、ある日付からの相対的な年、月、日を表す数式を引数に指定することもできます。次のコードは、直接日付を指定せずに式を使って相対的に日付を指定した例です。1990 年の 10 年前 (1990 - 10) の 8 月から 2 か月前 (8 - 2) の最初の日の前日 (1 - 1) の日付に対応する 1980 年 5 月 31 日を値として返します。
Dim MyDate1, MyDate2 MyDate1 = DateSerial(1970, 1, 1) ' 1970 年 1 月 1 日を返します。 MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1) ' 1980 年 5 月 31 日を返します。引数 year に 0 ~ 99 の範囲の数値を指定すると、1900 ~ 1999 と読み替えられます。その範囲外の数値を引数 year に指定するには、完全な 4 桁の数値 (たとえば 1800) を指定してください。
各引数に指定する値が正しい範囲内にない場合、指定された値は引数に従って加算されます。たとえば、引数 day に 35 を指定すると、指定した年と月に応じて、指定した月と翌月に超過した分の日数として扱われます。ただし、各引数の値が -32,768 ~ 32,767 の範囲を超える場合、またはこの 3 つの引数で直接または相対的に指定された日付が、正しい日付の範囲内にない場合は、エラーが発生します。