【Excelマクロ】VBAでセルの表示形式を時刻に変更する方法【セルの書式設定】

スポンサーリンク

セルの表示形式を時刻に変更

この記事では、VBAでセルの表示形式を時刻に変更する方法を紹介しています。

時刻の種類と表示例

時刻のにはいくつか種類があります。それぞれの種類と表示例は以下の通りです。

No. 種類 表示例
*13:30:55 15:00:00
13:30 15:00
1:30 PM 3:00 PM
13:30:55 15:00:00
1:30:55 PM 3:00:00 PM
2012/3/14 1:30 PM 2021/4/27 3:00 PM
2012/3/14 13:30 2021/4/27 15:00
13時30分 15時00分
13時30分55秒 15時00分00秒

アスタリスク(*)で始まる時刻表示は、オペレーティングシステムで指定する地域の日付/時刻の設定に応じて変わります。

 

基本的に日本にいる方は、地域が日本の設定となっているのでアスタリスク(*)の有無で結果は変わらないでしょう。

 

プログラム

上記の表に記載している「No.」に対応するサンプルのコードは以下の通りです。

    ' ①
    Range("B2").NumberFormatLocal = "[$-x-systime]h:mm:ss AM/PM"
    
    ' ②
    Range("B2").NumberFormatLocal = "h:mm;@"

    ' ③
    Range("B2").NumberFormatLocal = "[$-en-US]h:mm AM/PM;@"

    ' ④
    Range("B2").NumberFormatLocal = "h:mm:ss;@"

    ' ⑤
    Range("B2").NumberFormatLocal = "[$-en-US]h:mm:ss AM/PM;@"

    ' ⑥
    Range("B2").NumberFormatLocal = "[$-en-US]yyyy/m/d h:mm AM/PM;@"

    ' ⑦
    Range("B2").NumberFormatLocal = "yyyy/m/d h:mm;@"

    ' ⑧
    Range("B2").NumberFormatLocal = "h""時""mm""分"";@"

    ' ⑨
    Range("B2").NumberFormatLocal = "h""時""mm""分""ss""秒"";@"

セルを指定している「Range("B2")」の部分は、「Cells(2, 2)」としても同様の結果となります。 

 

以上、VBAでセルの表示形式を時刻に変更する方法の紹介でした。

関連記事

VBAによるセルの表示形式の他の種類への変更方法は以下の記事でまとめているので、ぜひ参考にしてください!

 

以下、VBAを学ぶのにおすすめの書籍となっています。ぜひ参考にしてください。