Excel2016,2013 ”Workbook_SheetChange”イベントマクロ 27回
今回は、全部のシートで日付を扱う場合を紹介します。
全部のシートの決まったセル範囲に日付を入力する必要があり、令和表示が必要な場合があるケースです。
”Workbook_SheetChange”イベントを使います。
(サンプルファイルは、こちらから
マクロ27回サンプルデータ)
Excelバージョン:




Private Sub Workbook_SheetChange(ByVal Sh As Object, 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
