時刻の書式
Excel VBA を使って時刻の書式を設定する方法について解説します。時刻の書式は時や分をどのように表示するかで書式用の文字を組み合わせて利用します。
(Last modified: )
時分秒の書式
時分秒については次の通りです。
書式 | パーツ | 対象 | 表示 |
---|---|---|---|
h | 時間 | 21:8:53 | 21 |
hh | 時間 | 21:8:53 | 21 |
m | 分 | 21:8:53 | 8 |
mm | 分 | 21:8:53 | 08 |
s | 秒 | 21:8:53 | 53 |
ss | 秒 | 21:8:53 | 53 |
「m」や「mm」は月の書式文字と同じですが、「h」や「s」などと一緒に使うことで分を表す書式文字として使えます。
実際に試してみます。
Sub テスト() Range("A1:A2").Value = "08:12:06" Range("A1").NumberFormatLocal = "h:m:s" Range("A2").NumberFormatLocal = "hh:mm:ss" Range("A3:A4").Value = "21:05:36" Range("A3").NumberFormatLocal = "h:m:s" Range("A4").NumberFormatLocal = "hh:mm:ss" End Sub
上記マクロを実行すると次のようになります。
AM/PMの書式
時刻は24時間表記となってますが、「AM/PM」を追加で記述すると12時間表記とすることもできます。例えば次のように記述します。
Range("A2").NumberFormatLocal = "hh:mm:ss AM/PM"
このようにAM/PMを追加することで、時間は12時間表記に変わり、午前または午後に応じてAMまたはPMが表示されます。
実際に試してみます。
Sub テスト() Range("A1:A2").Value = "08:12:06" Range("A1").NumberFormatLocal = "hh:mm:ss AM/PM" Range("A2").NumberFormatLocal = "hh:mm:ss" Range("A3:A4").Value = "21:05:36" Range("A3").NumberFormatLocal = "hh:mm:ss AM/PM" Range("A4").NumberFormatLocal = "hh:mm:ss" End Sub
上記マクロを実行すると次のようになります。
時刻の場合でも、好きな文字を書式の間に記述することが出来ます。
-- --
Excel VBA を使って時刻の書式を設定する方法について解説しました。
( Written by Tatsuo Ikura )
Profile
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。