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