指定した年、月、日に対応するバリアント型 (内部処理形式 Date の Variant) の値を返します。
構文
DateSerial(year, month, day)
警告 引数が正しい値の範囲内にあることを確認します。 無効な引数は、誤った結果になる可能性があります。
DateSerial 関数構文の引数は次のとおりです。
| 引数 | 説明 |
|---|---|
| year | 必須。 整数型を指定します。 年を表す 100 ~ 9999 の範囲の数値または数式を指定します。 |
|
|
必須。 整数型を指定します。 任意の数式を指定します。 |
| day | 必須。 整数型を指定します。 任意の数式を指定します。 |
解説
日付 (1991 年 12 月 31 日など) を指定するには、各 DateSerial 引数の数値の範囲は、単位で使用できる範囲内になければなりません。つまり、日の場合は 1 〜 31、月の場合は 1 〜 12 です。 ただし、特定の日付の前後の日数、月数、または年を表す数式を使用して、各引数に相対日付を指定することもできます。
次の例では、絶対日付数値の代わりに、数値式を使用しています。 ここで、 DateSerial 関数は、最初の日の前日 (1 - 1)、2 か月前 (8 - 2)、10 年前の 1990 年 (1990 - 10)、つまり 1980 年 5 月 31 日の日付を返します。
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 つの引数で指定された日付が許容日付範囲外の日付になると、エラーが発生します。
注
year、month、および day の場合、Calendar プロパティ設定がグレゴリオ暦の場合、指定された値はグレゴリオ暦と見なされます。 カレンダー プロパティ設定がイスラム暦の場合、指定したはイスラム暦と見なされます。
返された日付部分は、現在の Visual Basic のカレンダーの時間単位になります。 たとえば、現在のカレンダーがイスラム暦で、返される日付部分が年の場合、年の値はイスラム暦の年になります。 引数の 年の場合、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.