マクロで和暦の令和を入力

和暦の令和を自動入力するマクロ “Worksheet_Change”イベント
和暦の令和を自動入力するマクロ

Excel2016,2013 マクロ 26回 “Worksheet_Change”イベント

令和元年と令和2年以降を振り分けてマクロで表示

Targetの列番号と指定した行範囲に変更がある時に、実行されるマクロを紹介します。たとえば、2019/7/1と入力すれば令和元年7月1日と表示されます。
セルの内容が変更された時に呼び出されるイベントプロシージャ”Worksheet_Change”イベントを使っています。

(サンプルファイルは、こちらから マクロ26回サンプルデータ
Excelバージョン:Excel2016201320102007

和暦で令和元年、令和2年以降を振り分けて表示

発売予定日に2019/5/1と入力して、
NAMAEマクロ1
Enterで確定すると、令和元年5月1日と表示されます。
NAMAEマクロ2
また2020/1/10と入力した場合は、
NAMAEマクロ3

令和2年1月10日と表示されます。このマクロでは令和元年と令和2年以降を振り分けています。ちなみに2018/4/1と入力した場合は、平成31年4月1日となります。
和暦でマクロ4

マクロをシートに記述する

Alt + F11でVBEを表示します。Sheet1をクリックします。
和暦でマクロ5
左のプルダウンからWorksheetを選択します。
和暦でマクロ6
記述が必要なイベントChnageを右側のプルダウンから選択します。
和暦でマクロ6
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
以下のコードを間に記入します。
和暦でマクロ6
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

こちらもおすすめ