【VBA】[数値] を [時刻] に変換する

【VBA】時分秒_1

画像のように、「時・分・秒」が1つのセルに1つずつ区分けされて記入されている場合、例えば、1つのセルに時刻をまとめるには以下のコードを用います。

◆TimeSerial(時の値, 分の値, 秒の値)
◆TimeValue(時刻)

どういう事か、下記の例題・画像をご覧ください。
 

広告

例題①

【VBA】時分秒_2
Range("D2") = TimeSerial(Range("A2"), Range("B2"), Range("C2"))

↑の画面のように「時・分・秒」が分かれて記入されているとします。これをセル【D2】にまとめて記載しようとした場合のコードは↑のようになります。

↑のコードを実行すると「時・分・秒」1つ1つのただの『数字』が『時刻』として認識されて記載されます。
 

例題②

【VBA】時分秒_3
Range("D3") = TimeValue(Range("A3") & Range("B3") & Range("C3"))

1つのセルに「時・分・秒」の記載があった場合は↑のコードを使用してください。
 

例題③

【VBA】時分秒_4
Range("D4") = TimeValue(Range("A4"))

1つのセルに「[午前or午後]●●時▽▽分◆◆秒」とあった場合は↑のコードを活用する事により「●● : ▽▽ : ◆◆ [AM or PM]」という表示に変換する事が出来ます。

以上、何かの参考になれば幸いです。

広告