この記事では、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でセルの表示形式を変更する方法をまとめ
この記事では、VBAによるセルの表示形式の変更方法を全てまとめています。
以下、VBAを学ぶのにおすすめの書籍となっています。ぜひ参考にしてください。