教えて!ExcelVBA!

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

ExcelVBAのWorksheetFunctionオブジェクトで使用するTimeValue関数の使い方

構文

構文は以下の通りです。

WorksheetFunction.TimeValue(時刻文字列)

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。TimeValue関数は、指定された時刻文字列を時刻データ型に変換します。例えば、「14:30:00」のような文字列をTime型に変換するために使います。この関数は、日付を含まない純粋な時刻データを使いたいときに便利です。時刻文字列は、時刻を表す文字列となります。この文字列は Excel で認識できる形式にはなりません(例:"HH:MM:SS")。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 時刻変換例()
    ' 時刻を表す文字列
    Dim 時刻文字列 As String
    ' 変換された時刻を格納する変数
    Dim 変換された時刻 As Date
    ' 時刻文字列を設定
    時刻文字列 = "14:30:00"
    ' TimeValue関数を使用して文字列を時刻に変換
    変換された時刻 = WorksheetFunction.TimeValue(時刻文字列)
    ' 結果を表示
    MsgBox "変換された時刻は " & Format(変換された時刻, "HH:MM:SS") & " です。"
End Sub

上記のプログラムでは、"14:30:00"という時刻文字列をTimeValue関数を使って時刻データに変換しています。 その後、をMsgBox使って変換された時刻を表示しています。

まとめ

TimeValue関数は、時刻を文字列からTime型に変換する際に非常に有益な関数です。この関数を使うために、日付を考慮せずに正確な時刻のみを操作できるようになります。