和暦令和をブックで使うマクロ
Excel2016,2013 ”Workbook_SheetChange”イベントマクロ 27回
全部のシートの決まったセル範囲に令和を適用したい
今回は、全部のシートで日付を扱う場合を紹介します。
全部のシートの決まったセル範囲に日付を入力する必要があり、令和表示が必要な場合があるケースです。
”Workbook_SheetChange”イベントを使います。
(サンプルファイルは、こちらから
マクロ27回サンプルデータ)
Excelバージョン:
ThisWorkbookにマクロを記述する
Alt + F11でVBEを起動します。プロジェクトエクスプローラでThisWorkbookを選択して、コードウィンドウの左のプルダウンからWorkbookを選択します。
右のプルダウンからはSheetChangeを選択します。
定型のコードの間に記述します。
マクロコードを記述する
基本的には前回と同じコードになっています。
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
指定した範囲に入力されると自動実行されます。