和暦令和をブックで使うマクロ

和暦令和をブックで使うマクロ ”Workbook_SheetChange”イベント
和暦令和をブックで使うマクロ

リンクユニット


Excel2016,2013 ”Workbook_SheetChange”イベントマクロ 27回

全部のシートの決まったセル範囲に令和を適用したい

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

ThisWorkbookにマクロを記述する

Alt + F11でVBEを起動します。プロジェクトエクスプローラでThisWorkbookを選択して、コードウィンドウの左のプルダウンからWorkbookを選択します。
和暦令和をブックで使うマクロマクロ1
右のプルダウンからはSheetChangeを選択します。
和暦令和をブックで使うマクロマクロ2
定型のコードの間に記述します。
和暦令和をブックで使うマクロマクロ3

マクロコードを記述する

基本的には前回と同じコードになっています。
和暦令和をブックで使うマクロマクロ4
If Target でセル範囲を限定しています。この部分はそれぞれの用途に応じて書き換えてください。
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
指定した範囲に入力されると自動実行されます。
和暦令和をブックで使うマクロマクロ5