この記事では、VBAで日付に変更する方法を紹介しています。
Excelのセルの表示形式で日付においては、カレンダーの種類が以下の2種類あります。
- グレゴリオ暦
- 和暦
グレゴレオ暦
グレゴリオ暦での表示形式の種類
グレゴリオ暦の種類と表示例を示した表は以下の通りです。
No. | 種類 | 表示例 |
① | *2012/3/14 | 2021/4/26 |
② | *2012年3月14日 | 2021年4月26日 |
③ | 2012-03-14 | 2021-04-26 |
④ | 2012年3月14日 | 2021年4月26日 |
⑤ | 2012年3月 | 2021年4月 |
⑥ | 3月14日 | 4月26日 |
⑦ | 2012/3/14 | 2021/4/26 |
⑧ | 2012/3/14 1:30PM | 2021/4/26 12:00 AM |
⑨ | 2012/3/14 13:30 | 2021/4/26 0:00 |
⑩ | 3/14 | 4/26 |
⑪ | 3/14/12 | 4/26/21 |
⑫ | 03/14/12 | 04/26/21 |
⑬ | 14-Mar | 26-Apr |
⑭ | 14-Mar-12 | 26-Apr-21 |
⑮ | 14-Mar-12 | 26-Apr-21 |
⑯ | Mar-12 | Apr-21 |
⑰ | March-12 | April-21 |
⑱ | M | A |
⑰ | M-12 | A-21 |
アスタリスク(*)で始まる時刻表示は、オペレーティングシステムで指定する地域の日付/時刻の設定に応じて変わります。
基本的に日本にいる方は、地域が日本の設定となっているのでアスタリスク(*)の有無で結果は変わらないでしょう。
グレゴリオ暦のプログラム
それぞれの番号を表示するプログラムは以下の通りです。
' ① Range("B2").NumberFormatLocal = "yyyy/m/d" ' ② Range("B2").NumberFormatLocal = "[$-x-sysdate]dddd, mmmm dd, yyyy" ' ③ Range("B2").NumberFormatLocal = "yyyy-mm-dd;@" ' ④ Range("B2").NumberFormatLocal = "yyyy""年""m""月""d""日"";@" ' ⑤ Range("B2").NumberFormatLocal = "yyyy""年""m""月"";@" ' ⑥ Range("B2").NumberFormatLocal = "m""月""d""日"";@" ' ⑦ Range("B2").NumberFormatLocal = "yyyy/m/d;@" ' ⑧ Range("B2").NumberFormatLocal = "[$-en-US]yyyy/m/d h:mm AM/PM;@" ' ⑨ Range("B2").NumberFormatLocal = "yyyy/m/d h:mm;@" ' ⑩ Range("B2").NumberFormatLocal = "m/d;@" ' ⑪ Range("B2").NumberFormatLocal = "m/d/yy;@" ' ⑫ Range("B2").NumberFormatLocal = "mm/dd/yy;@" ' ⑬ Range("B2").NumberFormatLocal = "[$-en-US]d-mmm;@" ' ⑭ Range("B2").NumberFormatLocal = "[$-en-US]d-mmm-yy;@" ' ⑮ Range("B2").NumberFormatLocal = "[$-en-US]dd-mmm-yy;@" ' ⑯ Range("B2").NumberFormatLocal = "[$-en-US]mmm-yy;@" ' ⑰ Range("B2").NumberFormatLocal = "[$-en-US]mmmm-yy;@" ' ⑱ Range("B2").NumberFormatLocal = "[$-en-US]mmmmm;@" ' ⑲ Range("B2").NumberFormatLocal = "[$-en-US]mmmmm-yy;@"
セルを指定している「Range("B2")」の部分は、「Cells(2, 2)」としても同様の結果となります。
和暦
和暦での表示形式の種類
和暦の種類と表示例を示した表は以下の通りです。
No. | 種類 | 表示例 |
① | H24.3.14 | R3.4.26 |
② | 平成24年3月14日 | 令和3年4月26日 |
和暦のプログラム
それぞれの番号を表示するプログラムは以下の通りです。
' ① Range("B8").NumberFormatLocal = "[$-ja-JP]ge.m.d;@" ' ② Range("B9").NumberFormatLocal = "[$-ja-JP-x-gannen]ggge""年""m""月""d""日"";@"
以上、VBAのセルの表示形式を短い日付に変更する方法の紹介でした。
関連記事
VBAによるセルの表示形式の他の種類への変更方法は以下の記事でまとめているので、ぜひ参考にしてください!
VBAでセルの表示形式を変更する方法をまとめ
この記事では、VBAによるセルの表示形式の変更方法を全てまとめています。
以下、VBAを学ぶのにおすすめの書籍となっています。ぜひ参考にしてください。