← コード一覧へ戻る
基本文字・日付

日付(年月日)からシリアル値を取得する

年・月・日から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

図で見る操作の流れ

イメージ図

概念図:年・月・日から日付を作り、文字と数値の両方で表示します。

  1. マクロ:入力値

    年2026・月10・日1

  2. マクロ:日付化

    DateSerialでVBAのDate値を作成

  3. 結果

    2026/10/01と、CDblで変換したVBAシリアル値を表示

セル入力は不要。Excelの日付システムとVBAのシリアル値を混同しないようにします。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックを.xlsm形式で保存し、Sheet1という名前のシートを用意します。入力セルは不要です。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]へコードを貼り付けます。

  3. 3

    DateSerialの2026、10、1を年・月・日に変更します。

  4. 4

    マクロ内にカーソルを置いてF5で実行します。2026/10/01と対応する数値が表示されます。

使っている機能の公式ドキュメント(Microsoft Learn)