セルの日付は書式で見え方が変わる
セルの日付にはいろんな表示方法があります。
「2021/3/2」西暦
「令和3年3月2日」和暦
「令和三年三月二日」漢数字
などなど。
これらはいずれもセルの値は同じ2021年3月2日を示すシリアル値が設定されています。表現の仕方が違うだけです。
ちなみに、現在日付や現在時刻をセルに入力するショートカットはとても便利で、セルに今日の日付を入力したい場合は、Ctrl + ;(Ctrlキーを押しながら;(ひらがなの”れ”)キー)を押すと入力され、「Ctrl + *(け)」で現在時刻が入力されます。
西暦と和暦の書式
西暦と和暦の表示には以下のような種類があります。
ユーザー定義での書式設定 | 1年(元年) | 2年以降 |
---|---|---|
yyyy/m/d | 2019/12/20 | 2021/3/2 |
yyyy/mm/dd | 2019/12/20 | 2021/03/02 |
yyyy/mm/dd(aaa) | 2019/12/20(金) | 2021/03/02(火) |
yyyy-mm-dd | 2019-12-20 | 2021-03-02 |
yyyy”年”m”月”d”日” | 2019年12月20日 | 2021年3月2日 |
[DBNum1][$-ja-JP-x-gannen]ggge”年”m”月”d”日” | 令和一年十二月二十日 | 令和三年三月二日 |
[DBNum2][$-ja-JP-x-gannen]ggge”年”m”月”d”日” | 令和壱年壱拾弐月弐拾日 | 令和参年参月弐日 |
[DBNum3][$-ja-JP-x-gannen]ggge”年”m”月”d”日” | 令和元年12月20日 | 令和3年3月2日 |
[$-ja-JP]ge.m.d | R1.12.20 | R3.3.2 |
ここで挙げたのは代表的なものですが、書式を組み合わせて他の表示方法にすることも可能です。
書式については「セルの表示形式の書式記号」で詳しく書いていますのでご参照ください。
和暦について補足します。
「DBNum1」は漢数字、「DBNum2」は数字の大字(難しい書き方の漢数字)、「DBNum3」は全角のアラビア数字で表示します。「$-ja-JP」は和暦で表示し、「-x-gannen」が付くと1年を元年と表示します。ただし、「DBNum1」と「-x-gannen」を組み合わせた場合は”元年”ではなく”一年”と表示されます。
セルの日付を西暦や和暦に変更する方法
VBAでセルの日付の書式を変える場合は、対象セル範囲のRangeオブジェクトのNumberFormatLocalプロパティを使います。
以下はA1セルからA9セルにそれぞれ上で挙げた西暦と和暦の書式を設定しています。日付は全て2021/3/2にしています。
VBAに書く際の注意点というか面倒な点が1つあります。それはダブルクォーテーションの扱いです。書式にダブルクォーテーションが含まれている場合は、ダブルクォーテーションを2つ書いてエスケープする必要があります。以下のコードはエスケープ対応済みです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub Sample20210302() Range("A1:A9").Value = "2021/3/2" Range("A1").NumberFormatLocal = "yyyy/m/d" Range("A2").NumberFormatLocal = "yyyy/mm/dd" Range("A3").NumberFormatLocal = "yyyy/mm/dd(aaa)" Range("A4").NumberFormatLocal = "yyyy-mm-dd" Range("A5").NumberFormatLocal = "yyyy""年""m""月""d""日""" Range("A6").NumberFormatLocal = "[DBNum1][$-ja-JP-x-gannen]ggge""年""m""月""d""日""" Range("A7").NumberFormatLocal = "[DBNum2][$-ja-JP-x-gannen]ggge""年""m""月""d""日""" Range("A8").NumberFormatLocal = "[DBNum3][$-ja-JP-x-gannen]ggge""年""m""月""d""日""" Range("A9").NumberFormatLocal = "[$-ja-JP]ge.m.d" End Sub |
実行するとA1セルからA9セルまでに以下が表示されます。
2021/3/2
2021/03/02
2021/03/02(火)
2021-03-02
2021年3月2日
令和三年三月二日
令和参年参月弐日
令和3年3月2日
R3.3.2