マクロで和暦の令和を入力
Excel2016,2013 マクロ 26回 “Worksheet_Change”イベント
令和元年と令和2年以降を振り分けてマクロで表示
Targetの列番号と指定した行範囲に変更がある時に、実行されるマクロを紹介します。たとえば、2019/7/1と入力すれば令和元年7月1日と表示されます。
セルの内容が変更された時に呼び出されるイベントプロシージャ”Worksheet_Change”イベントを使っています。
(サンプルファイルは、こちらから
マクロ26回サンプルデータ)
Excelバージョン:
和暦で令和元年、令和2年以降を振り分けて表示
発売予定日に2019/5/1と入力して、
![NAMAEマクロ1](macro/macro26_01.png)
![NAMAEマクロ1](macro/macro26_01.png)
Enterで確定すると、令和元年5月1日と表示されます。
![NAMAEマクロ2](macro/macro26_02.png)
![NAMAEマクロ2](macro/macro26_02.png)
また2020/1/10と入力した場合は、
![NAMAEマクロ3](macro/macro26_03.png)
![NAMAEマクロ3](macro/macro26_03.png)
令和2年1月10日と表示されます。このマクロでは令和元年と令和2年以降を振り分けています。ちなみに2018/4/1と入力した場合は、平成31年4月1日となります。
![和暦でマクロ4](macro/macro26_04.png)
マクロをシートに記述する
Alt + F11でVBEを表示します。Sheet1をクリックします。
![和暦でマクロ5](macro/macro26_05.png)
![和暦でマクロ5](macro/macro26_05.png)
左のプルダウンからWorksheetを選択します。
![和暦でマクロ6](macro/macro26_06.png)
![和暦でマクロ6](macro/macro26_06.png)
記述が必要なイベントChnageを右側のプルダウンから選択します。
![和暦でマクロ6](macro/macro26_07.png)
![和暦でマクロ6](macro/macro26_07.png)
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
以下のコードを間に記入します。
![和暦でマクロ6](macro/macro26_08.png)
以下のコードを間に記入します。
![和暦でマクロ6](macro/macro26_08.png)
Private Sub Worksheet_Change(ByVal Target As Range) Dim Reiwa1 As String, Reiwa2 As String, Wareki As Long If Target.Column = 2 And Target.Row >= 2 And Target.Row <= 26 Then On Error Resume Next Wareki = Year(Target) - 2018 Reiwa1 = """令和" & "元年""" & "m""月""d""日""" Reiwa2 = """令和" & Wareki & "年""" & "m""月""d""日""" If Target >= 43586 And Target <= 43830 Then '2019/5/1~2019/12/31 Target.NumberFormatLocal = Reiwa1 ElseIf Target >= 43831 Then Target.NumberFormatLocal = Reiwa2 Else Target.NumberFormatLocal = "ggge""年""m""月""d""日""" End If End If End Sub