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

スポンサーリンク

VBAでセルの表示形式を日付に変更する方法

この記事では、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を学ぶのにおすすめの書籍となっています。ぜひ参考にしてください。