新元号・令和の影響 Excel編


管理人調べで、実際の処理だけでなく書籍を参考にしたものなので、当方は一切責任を負いません。自己責任でお願いします。

また、当然ではありますが、元号つまり和暦の日付で入力・表示している箇所が影響を受けます。

■Excel編

・影響を受ける箇所:セルの書式設定で「表示形式」の「ユーザー定義」で元号を表記している場合

・対処法:なし

・対処できない理由:ExcelまたはOSに依存するため。ExcelまたはOfficeあるいはOSの修正プログラムを待つしかありません。ここでいうOSとはWindowsのような基本プログラムのことです。

 

・影響を受ける実例

※Excel2016と2010とでユーザー定義の表記が異なるので個々に記述しました。

 

【 Excel2016 】

セルに 2019/3/4 と入力した日付の書式をユーザー定義 [$-ja-JP]ge.m.d に変更している場合

→表記上 H31.3.4

※タップ(クリック)で拡大します。


セルに 2019/3/4 と入力した日付の書式をユーザー定義 [$-ja-JP]ggge”年”m”月”d”日” に変更している場合

→表記上 平成31年3月4日

 

●マクロ(VBA)でも同様に、以下の処理で影響を受けます

ActiveCell.FormulaR1C1 = "3/4/2019"
Range("A1").Select
Selection.NumberFormatLocal = "[$-ja-JP]ge.m.d"
Selection.NumberFormatLocal = "[$-ja-JP]ggge""年""m""月""d""日"""


 

【 Excel2010 】

セルに 2019/3/4 と入力した日付の書式をユーザー定義 [$-411]ge.m.d に変更している場合

→表記上 H31.3.4

※タップ(クリック)で拡大します。

 


セルに 2019/3/4 と入力した日付の書式をユーザー定義 [$-411]ggge”年”m”月”d”日” に変更している場合

→表記上 平成31年3月4日

 

●マクロ(VBA)でも同様に、以下の処理で影響を受けます

ActiveCell.FormulaR1C1 = "3/4/2019"
Range("A1").Select
Selection.NumberFormatLocal = "[$-411]ge.m.d"
Selection.NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"""


 

日付に関する書式記号

g : アルファベットの元号 : M / T / S / H

gg : 元号の先頭文字 : 明、大、昭、平

ggg : 元号 : 明治、大正、昭和、平成

e : 和暦の年を表示: ex. 5

 

予想される例

入力した日付→書式設定→表示上の日付

1915/3/4 → ge.m.d → T4.3.4

1975/3/4 → gge.m.d → 昭和50.3.4

2015/3/4 → ggge.m.d → 平成27.3.4

 

マクロ(VBA)処理の場合

Range("A1").Select
ActiveCell.FormulaR1C1 = "3/4/1915"
Selection.NumberFormatLocal = "[$-ja-JP]ge.m.d"

Range("A2").Select
ActiveCell.FormulaR1C1 = "3/4/1975"
Selection.NumberFormatLocal = "[$-ja-JP]gge.m.d"

Range("A3").Select
ActiveCell.FormulaR1C1 = "3/4/2015"
Selection.NumberFormatLocal = "[$-ja-JP]ggge.m.d"


 

ページの先頭行に日付をマクロ(VBA)でセットしている場合

シートの1行目ではなく、ヘッダー(またはフッター)に日付をセットしている場合です。

つまり、メニューの「印刷タイトル」で表示される「ページ設定」画面の「ヘッダー/フッター」タブ内の「ヘッダーの編集」に、日付をマクロ(VBA)でセットしている場合のサンプルです。

実行例

マクロのサンプル

Application.PrintCommunication = False
ActiveSheet.PageSetup.LeftHeader = Format(Now(), "ggge""年""m""月""d""日"" h:mm:ss")
Application.PrintCommunication = True

前述の NumberFormatLocal プロパティと同様に、Format関数の「ggge」など元号に関する日付記号が影響を受けます。

 

※2019/6/15時点で、お使いのPC環境によっては異なるかもしれませんが、

Sheet1.Range("C1").Value = Format(Now(), "ggge""年""m""月""d""日"" h:mm:ss")

で「令和」が表示されました。

個人的にはExcelのUpdateによるものではなく、Windows Updateによるものと推測しています。一方、「セルの書式設定」による令和やRの表示は現時点ではできません。

 


各元号の開始日から終了日で判定している処理がある場合

当方はこの処理をしていないので、各元号の期間のみを提示します

明治:1868/1/25-1912/7/30

大正:1912/7/30-1926/12/25

昭和:1926/12/25-1989/1/7

平成:1989/1/7-2019/4/30