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

文字列からシリアル値を取得する

日付として解釈できる文字列をDate値に変換し、シリアル値を表示します。

実行前に確認

  • 文字列の日付解釈は地域設定に依存します。年月日の順序が曖昧な文字列を避けてください。
  • Excelの1904年日付システムのシリアル値とは異なります。

1サンプルコード

Sub Example1144()
    Dim s As String
    s = "2026/10/01"
    If Not IsDate(s) Then
        MsgBox "日付に変換できません。"
        Exit Sub
    End If
    MsgBox CDbl(DateValue(s))
End Sub

図で見る操作の流れ

イメージ図

コードに沿った概念図です。実際の画面や実行結果ではありません。

  1. 入力文字列

    s = "2026/10/01"

  2. マクロ:日付判定

    IsDateで変換できるか確認し、DateValueでDate値へ

  3. マクロ:数値を表示

    CDblでVBAの日付シリアル値にしてメッセージ表示

日付に変換できなければ案内して終了。地域設定で解釈が変わります。Excelの1904年日付システムとは異なります。

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

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

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

  2. 2

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

  3. 3

    sの文字列を変換したい日付に変更します。

  4. 4

    マクロ内にカーソルを置いてF5で実行します。文字列から作ったVBAの日付シリアル値が表示されます。

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