hhmmss形式、hh:mm:ss形式に相互変換したい
エクセルで移行用のデータをもらった時、必要な書式になっていない場合があります。
特にhhmmss形式だと時刻とは認識されず、難儀する場合があります。
今回紹介するコードで「hhmmss←→hh:mm:ss」に相互変換可能です。
hhmmss←→hh:mm:ssに相互変換するサンプルコード
Format関数を使用し、変換します。
Public Sub sample_hhmmss_Conv() '■hhmmss→hh:mm:ss形式への変換 Dim str As String: str = "090000" Debug.Print Format(str, "@@:@@:@@") '09:00:00 '■hh:mm:ss→hhmmss形式への変換 Dim sTime As Date: sTime = "09:00:00" Debug.Print Format(sTime, "hhmmss") '090000 End Sub
注意点
- Format関数で文字列形式からDate型のデータ型に型変換するイメージです。
- 「@@:@@:@@」は 一つの文字またはスペースを表します。
@(アットマーク)に対応する位置に文字が存在する場合はそのまま表示され、なければスペースが表示されます。
関連記事
0埋めして桁数を揃える(Format関数/Right関数)
指定した時・分・秒をそれぞれ取得する【Hour関数/Minute関数/Second関数】【ExcelVBA】
指定した年・月・日をそれぞれ取得する【Year関数/Month関数/Date関数】【ExcelVBA】
現在日付・現在時刻を取得する【Date関数/Time関数/Now関数】【ExcelVBA】
yyyymmdd←→yyyy/mm/ddに相互変換【Format関数】【ExcelVBA】
コメント