指定した年、月、日に対応するバリアント型 (内部処理形式 Date の Variant) の値を返します。
構文
DateSerial(年、月、日)
警告 引数が正しい値の範囲内にあることを確認します。 引数が無効な場合、結果が正しくない可能性があります。
DateSerial 関数構文の引数は次のとおりです。
| 引数 | 説明 |
|---|---|
| year | 必須。 整数型を指定します。 年を表す 100 ~ 9999 の範囲の数値または数式を指定します。 |
|
|
必須。 整数型を指定します。 任意の数式を指定します。 |
| day | 必須。 整数型を指定します。 任意の数式を指定します。 |
解説
日付 (1991 年 12 月 31 日など) を指定するには、各 DateSerial 引数の数値の範囲を単位で受け入れられる範囲にする必要があります。つまり、日の場合は 1 から 31、月の場合は 1 から 12 です。 ただし、特定の日付の前または後の日数、月数、または年数を表す任意の数値式を使用して、各引数の相対日付を指定することもできます。
次の例では、絶対日付数値の代わりに、数値式を使用しています。 ここで DateSerial 関数は、1990 年 (1990 - 10) より 10 年前の 8 月 (8 - 2) の 2 か月前、つまり 1980 年 5 月 31 日の前日 (1 - 1) の日付を返します。
DateSerial(1990 - 10, 8 - 2, 1 - 1)
year 引数の 2 桁の 年 は、ユーザー定義のコンピューター設定に基づいて解釈されます。 既定の設定では 0 から 29 の値が含まれ、2000 から 2029 年として解釈されます。 30 から 99 の既定値は、1930 から 1999 年として解釈されます。 その他のすべての 年 引数には、4 桁の年 (1800 など) を使用します。
Windows 2000 以前の Windows バージョンでは、上記で説明した既定に応じて、2 桁の年で解釈されます。 関数が適切な値を確実に返すようにするには、年には 4 桁を使用します。
いずれかの引数がその引数の許容範囲を超えた場合、上位の単位に適切に加算されます。 たとえば、35 日を指定すると、1 か月とその年の該当月に応じた日数として評価されます。 引数のいずれか 1 つでも 32,768 から 32,767 の範囲を超えると、エラーが発生します。 3 つの引数で指定された日付が許容日付範囲外の日付になると、エラーが発生します。
注
年、月、日の場合、Calendar プロパティの設定がグレゴリオ暦の場合、指定された値はグレゴリオ暦と見なされます。 カレンダー プロパティ設定がイスラム暦の場合、指定したはイスラム暦と見なされます。
返された日付部分は、現在の Visual Basic のカレンダーの時間単位になります。 たとえば、現在のカレンダーがイスラム暦で、返される日付部分が年の場合、年の値はイスラム暦の年になります。 引数 year の場合、0 から 99 までの値は、1400 年から 1499 年として解釈されます。 その他のすべての 年 の値には、完全な 4 桁の年 (1520 など) を使用します。
クエリの例
| Expression | 結果 |
|---|---|
| SELECT Dateserial(2018,12,13) AS NewDate FROM ProductSales; | 関数の引数に入力された指定した年、月、日の "日付" を返し、列 "NewDate" に表示します。 結果: "13/12/2018" |
VBA の例
注
次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。
この例では、DateSerial 関数を使用して、指定した年、月、および日の日付を返します。
Dim MyDate ' MyDate contains the date for February 12, 1969. MyDate = DateSerial(1969, 2, 12) ' Return a date.