教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】DateValue関数の使い方を教えて!

構文

構文は以下の通りです。

DateValue(日付文字列)

解説

DateValue関数は、文字列日付を日付に変換します。日付文字列は、日付を表すテキスト形式の引数です。これは、日付を表す文字列、セル参照、または変数として指定することができます。

使い方

DateValue関数を使うための具体的な手順を解説します。

Step 1: VBAコードの開始

ExcelのVBAエディタを起動し、新しいモジュールを作成します。

Step 2: DateValue関数の使用

以下のコードを新しいモジュールに入力します。

Sub ConvertDate()
    Dim dateText As String
    Dim convertedDate As Date
    ' 日付を表すテキストを指定
    dateText = "2023/06/04"
    ' DateValue関数を使って日付を変換
    convertedDate = DateValue(dateText)
    ' 変換した日付をメッセージボックスで表示
    MsgBox "変換後の日付は " & convertedDate & " です。"
End Sub

Step 3: マクロの実行

VBAエディタからマクロを実行します。上記のコードでは、「変換後の日付は 2023/06/04 です。」というメッセージボックスが表示されるはずです。

プログラミング例

以下に、DateValue関数を使った実際のプログラミング例を示します。

Sub CalculateDays()
    Dim startDateText As String
    Dim endDateText As String
    Dim startDate As Date
    Dim endDate As Date
    Dim days As Long
    ' 開始日と終了日をテキストで指定
    startDateText = "2023/05/01"
    endDateText = "2023/06/01"
    ' 開始日と終了日を日付に変換
    startDate = DateValue(startDateText)
    endDate = DateValue(endDateText)
    ' 日数を計算
    days = endDate - startDate
    ' 結果を表示
    MsgBox "開始日から終了日までの日数は " & days & " 日です。"
End Sub

上記のコードでは、指定した開始日と終了日の間の日数を計算して表示する例です。

まとめ

DateValue関数は、テキスト形式の日付を日付値に変換するために使用されます。ExcelVBAを使ったデータ処理や自動化の道具として、DateValue関数を上手に活用してみてください。