【VBA】西暦から和暦を取得する

例えば
 ・西暦「2021/4/12」
から…

西暦の日付
西暦の日付


和暦である
 ・令和3年 ※漢字2文字
 ・令3年  ※漢字1文字
 ・R3    ※アルファベット
を取得できます!

和暦(漢字2文字)
和暦(漢字2文字)
和暦(漢字1文字)
和暦(漢字1文字)
和暦(アルファベット)
和暦(アルファベット)


VBA関数の1つである
 ・Format関数
により実現できます!

PR

VBAコード

ここでは例として、西暦の日付である本日の日付(=2021/4/12)から
 ・和暦(漢字2文字)
 ・和暦(漢字1文字)
 ・和暦(アルファベット)
を取得します。

Option Explicit

Sub sample()

    Dim today As Date
    Dim warekiNen As String
    
    '本日の日付を取得
    today = Date
    
    '西暦を確認
    MsgBox ("本日は『" & today & "』です。")
    
    '西暦から和暦の年を取得
    warekiNen = Format(today, "e")
    
    '西暦から和暦(漢字2文字)を取得
    MsgBox ("『和暦(漢字2文字)』は『" & Format(today, "ggg") & warekiNen & "年』です。")
    
    '西暦から和暦(漢字1文字)を取得
    MsgBox ("『和暦(漢字1文字)』は『" & Format(today, "gg") & warekiNen & "年』です。")
    
    '西暦から和暦(アルファベット)を取得
    MsgBox ("『和暦(アルファベット)』は『" & Format(today, "g") & warekiNen & "』です。")
    
End Sub

「Format(西暦の日付, “e“)」により、「和暦の年」を取得します(15行目)。

「Format(西暦の日付, “ggg“)」により、「和暦の元号(漢字2文字)」を取得します(18行目)。

「Format(西暦の日付, “gg“)」により、「和暦の元号(漢字1文字)」を取得します(21行目)。

「Format(西暦の日付, “g“)」により、「和暦の元号(アルファベット)」を取得します(24行目)。

PR

実行結果

西暦から和暦を取得できました。

実行結果①
実行結果①
実行結果②
実行結果②
実行結果③
実行結果③
PR

参考①

西暦(生年月日と本日日付)から、年齢を算出することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

Format関数」の詳細は、公式サイトをご確認ください。