エクセルバージョン
マイクロソフト365
今回は年,月,日から日付を取得できるDateSerial関数についてです
それではいってみましょう!
Menu
DateSerial関数
年,月,日から日付Variant(Date)を返します。
構文
DateSerial(year, month, day)
引数
DateSerial | 必須/省略可 | 詳細 |
year (第1引数) | 必須 | 年を指定。 100 以上 9999 以下の数値、または数式。 |
month (第2引数) | 必須 | 月を指定。 Integer(-32,768 から 32,767)の数値、または数式。 |
day (第3引数) | 必須 | 日を指定。 Integer(-32,768 から 32,767)の数値、または数式。 |
VBAサンプル
年月日を数値で指定
1 2 3 4 5 6 7 8 9 | Sub DateSerialサンプル1() '数字で指定 Debug.Print DateSerial(2021, 1, 2) '【結果】 '2021/01/02 End Sub |
本日の日付を取得
1 2 3 4 5 6 7 8 9 | Sub DateSerialサンプル2() '本日の日付を取得(本日が2021/8/2だったら) Debug.Print DateSerial(Year(Now), Month(Now), Day(Now)) '【結果】 '2021/08/02 End Sub |
来月の1日を取得
1 2 3 4 5 6 7 8 9 | Sub DateSerialサンプル3() '来月の1日の取得 MsgBox DateSerial(2021, 8, 32) '【結果】 '2021/09/01 End Sub |
エラー(Integerオーバーフロー)
Integer(-32,768 から 32,767)なので、オーバーフローになります。
1 2 3 4 5 6 7 8 9 | Sub DateSerialサンプル4() 'エラー(integerオーバーフロー) Debug.Print DateSerial(Year(Now), Month(Now), 32768) '【結果】 'エラー(オーバーフロー) End Sub |
まとめ
年月日から日付を取得したい場合は是非ご使用してみてください!
以上です。
日付の変換
【関数】(DATEVALUE)文字形式の日付をシリアル値の日付に変換
【関数】(YEAR,MONTH,DAY)日付から年,月,日を取得
時間
【VBA】(TimeValue)文字列の時間や数式から時刻を取得
【VBA】(TimeSerial)時,分,秒を指定して時刻を取得
【VBA】(Hour,Minute,Second)時,分,秒を分けて取得
現在の日時,日付
曜日や週
【VBA】(WeekdayName)数値や定数を指定で曜日取得
土日や祝日
【関数】(WORKDAY)土日,祝日,指定日を除いた日付を取得
【関数】(NETWORKDAYS)土日,祝日,指定日を除いた日数を取得