日付(年月日)からシリアル値を取得する
年・月・日からVBAのDate値を作り、そのシリアル値を調べます。
実行前に確認
- DateSerialは範囲外の月日を繰り上げ・繰り下げます。例: 13月は翌年1月です。
- ここで表示するのはVBAのシリアル値です。Excelの1904年日付システムや1900年初頭の日付とは扱いが異なります。
1サンプルコード
Sub Example1143()
Dim d As Date
d = DateSerial(2026, 10, 1)
MsgBox "日付: " & Format(d, "yyyy/mm/dd") & vbCrLf & "VBAシリアル値: " & CDbl(d)
End Sub図で見る操作の流れ
イメージ図概念図:年・月・日から日付を作り、文字と数値の両方で表示します。
マクロ:入力値
年2026・月10・日1
マクロ:日付化
DateSerialでVBAのDate値を作成
結果
2026/10/01と、CDblで変換したVBAシリアル値を表示
セル入力は不要。Excelの日付システムとVBAのシリアル値を混同しないようにします。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
練習用のブックを.xlsm形式で保存し、Sheet1という名前のシートを用意します。入力セルは不要です。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]へコードを貼り付けます。
- 3
DateSerialの2026、10、1を年・月・日に変更します。
- 4
マクロ内にカーソルを置いてF5で実行します。2026/10/01と対応する数値が表示されます。