Excel2016,2013 マクロ 26回 “Worksheet_Change”イベント
Targetの列番号と指定した行範囲に変更がある時に、実行されるマクロを紹介します。たとえば、2019/7/1と入力すれば令和元年7月1日と表示されます。
セルの内容が変更された時に呼び出されるイベントプロシージャ”Worksheet_Change”イベントを使っています。
(サンプルファイルは、こちらから
マクロ26回サンプルデータ)
Excelバージョン:







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