時間文字列(hhmmss形式)をDate型へ変換、Date型を時間文字列(hhmmss形式)に変換する方法を紹介します。Format関数を利用することで相互変換することができます。 VBAには、時間型は存在しないためDate型との相互変換となります。
Format関数で解決する
Format 関数は、もともとは値を指定した書式で文字列型に変換する関数です。hhmmss 形式の時間文字列をDate型に型変換できる文字列に変換することで、Date型への変換を実現しています。
サンプルプログラムを確認する(コピペOK)
Sub sample()
Dim str As String: str = "141159" '14時11分59秒
Dim ti As Date
' hhmmss形式からDate型への変換
ti = Format(str, "@@:@@:@@")
Debug.Print ti '14:11:59
Debug.Print Hour(ti) '14
Debug.Print Minute(ti) '11
Debug.Print Second(ti) '59
' Date型からhhmmss形式への変換
Debug.Print Format(ti, "hhmmss") '141159
End Sub