次の方法で共有


DateSerial 関数

指定した年、月、日の Variant (Date) を返します。

構文

DateSerial(year, month, day)

DateSerial 関数の構文には、次の名前付き引数があります。

指定項目 説明
year 必須。Integer。 100 以上 9999 以下の数値、または数式です。
month 必須。Integer。 任意の数式。
day 必須。Integer。 任意の数式。

解説

日付 (1991 年 12 月 31 日など) を指定するには、各 DateSerial引数 の数値の範囲を単位で受け入れられる範囲にする必要があります。つまり、日の場合は 1 から 31、月の場合は 1 から 12 です。 ただし、特定の日付の前後の日数、月数、年数を表す任意の数式を使用して、各引数の相対日付を指定することもできます。

次の例では、絶対日付数値の代わりに、数式を使用しています。 DateSerial 関数は、月初めの前日 (1 - 1)、8 月から 2 か月前 (8 - 2)、1990 年から 10 年前 (1990 - 10)、つまり、1980 年 5 月 31 日を返します。

Windows 98 または Windows 2000 では、year 引数の 2 桁の年は、ユーザーが定義したマシン設定により解釈されます。 既定の設定では、2000 年から 2029 年として 0 から 29 までの値が解釈されます。 30 から 99 の既定値は、1930 年から 1999 年と解釈されます。 その他のすべての year 引数では、4 桁の年を使用します (1800 など)。

以前の Windows バージョンでは、上記で説明した既定値に応じて、2 桁の年で解釈されます。 関数が適切な値を確実に返すようにするには、4 桁の年を使用します。

いずれかの引数の値が引数の許容範囲を超えた場合は、必要に応じて次の上位の単位に繰り越されます。 たとえば、35 日を指定した場合は、1 か月と数日と評価されます (日数は月によって変わります)。 引数のいずれか 1 つでも -32,768 から 32,767 の範囲を超えると、エラーが発生します。 3 つの引数によって指定された日付が日付の許容範囲を超えた場合も、エラーが発生します。

注:

yearmonth、および day は、カレンダー プロパティ設定がグレゴリオ暦の場合、指定した値はグレゴリオ暦と見なされます。 カレンダー プロパティの設定がイスラム暦の場合、指定した値はイスラム暦と見なされます。

返される日付部分は、現在の Visual Basic のカレンダーの暦になります。 たとえば、現在のカレンダーがイスラム暦であり、返される日付部分が年の場合、年の値はイスラム暦の年になります。 引数 year の場合、0 から 99 までの値は、1400 年から 1499 年として解釈されます。 その他のすべての year 値では、完全な 4 桁の年を使用します (1520 など)。

この例では、DateSerial 関数を使用して、指定した年、月、日の日付を返しています。

Dim MyDate
' MyDate contains the date for February 12, 1969.
MyDate = DateSerial(1969, 2, 12)    ' Return a date.

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。