昭和●●年って西暦で何年?調べるの結構面倒だと思ったことありませんか?
令和の時代になり和暦を使わずに西暦を基本に使うようになっていますが、簡単に変換できるフォームがあると便利なので、作り方をご紹介します。
和暦から西暦変換フォーム
まず始めに、全ての事をマクロ上で行う事もできるのですが、とても複雑なVBAが必要になるので、ここでは体裁は無視してエクセル関数とユーザーフォームを使って、比較的簡単に作ってみました。
ワークシート上の準備
繰り返しになりますが、今回は体裁は無視なので、まず始めにエクセルワークシート上に和暦と西暦の表を作ります。

薄い青色のセル(A2とB2)はユーザーフォームから転記されるデータで、薄い緑色にはエクセル関数が入っています。
セルA4から下に和暦を入力していきます。アナログですが、昭和元年~令和82年(西暦2100年)まで入力してあります。
セルB4から下に西暦を入力していきます。1926年から2100年まで入力していますが、和暦が変わった年(昭和64年・平成元年)と(平成31年・令和元年)はそれぞれ西暦が入力されています。

セルC2には、ユーザーフォームから転記された元号(セルA2)と年(セルB2)を結合させる数式をいれるので、このようになります。
=A2&B2&B1
A2は和暦、B2は年数、B1は年を&で値を順番にくっつけただけなのですが、もちろんVBAでやることも可能ですが、ここでは省略します。
C4は結合された「平成5年」をA5からB181の中から探して表示するVLOOKUP関数を使って表示させていますが、この説明もここでは省略します。
これで、ワークシート上での作業は終了です。

エクセルVBAの準備
和暦を入力して西暦を表示させるには、自分自身で自由にパーツを配置して作ることができるのでとても便利なユーザーフォームを使用します。

ここでは、オプションボタンで元号を選択して、テキストボックスに年数を入力してから、コマンドボタンを押して西暦をラベルに表示させるという方法をとります。
例えば平成5年の西暦を知りたければ、「平成」にチェックして「5」テキストボックスに入力して「変換」ボタンを押せば、「西暦」と書いてあるラベルが「1993」と表示が変わります。

では、そのようになるようにコマンドボタンにVBAコードを書きこみましょう。
Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then
Range(“A2”).Value = “昭和”
ElseIf OptionButton2.Value = True Then
Range(“A2”).Value = “平成”
ElseIf OptionButton3.Value = True Then
Range(“A2”).Value = “令和”
ElseIf OptionButton4.Value = True Then
Range(“A2”).Value = “予備”
End If
Range(“B2”).Value = TextBox1.Text
UserForm1.Label4.Caption = Range(“C4”).Value
End Sub
- コマンドボタン1をクリックしたら
- もしオプションボタン1を選択したら
- セルA2に「昭和」と転記する
- そうではなくオプションボタン2が選択されたら
- セルA2に「平成」と転記する
- そうではなくオプションボタン3が選択されたら
- セルA2に「令和」と転記する
- そうではなくオプションボタン4が選択されたら
- セルA2に「予備」と転記する
- IFステートメント終了
- セルB2の値はテキストボックス1の値を記載する
- ユーザーフォーム1のラベル4の表示文字はセルC4の値を記載する
- マクロ記述終了



これで完成です、体裁無視すれば簡単にできます。
もちろんItemを使って、VBAコードを記載すればワークシートは白紙で綺麗なままなので、体裁は良くなりますが大変ですよ。
関連記事
-
エクセル関数とVBAで和暦西暦対応カレンダー作成
エクセル関数を基本として作成し、ユーザーフォームで日付選択ができるようにすることで複雑なマクロが分からなくても、自由にカスタマイズして自分のエクセルに組み込… -
エクセルで昭和・平成・令和を西暦に変換するフォームを作成方法
昭和●●年って西暦で何年?調べるの結構面倒だと思ったことありませんか? 令和の時代になり和暦を使わずに西暦を基本に使うようになっていますが、簡単に変換できるフォ… -
今日の日付を取得して指定したセルに表示させるエクセル関数
エクセルで今日の日付をセルに入力するのに、わざわざカレンダーを見て手入力すする作業が面倒だと思ったことはありませんか? こんな無駄な作業をしている時間があった… -
エクセル関数とVBAを組み合わせて商品期限切れ通知を表示する方法
小さな会社や個人では、アプリや専用ソフトを使って商品管理とかはコストが見合わず、エクセルで商品管理していませんか? このエクセルによる商品管理でリストの中にあ… -
Excel-VBAタイマー機能で数秒後にユーザーフォームを表示させる方法
エクセルを使って成績などを入力して作成した成績表で、入力漏れがなかったかどうかなどをチェックするのに数秒間だけ指定したページや範囲を表示させたいと思ったこと… -
エクセルの時刻表示を0:00ではなく24:00にする方法
スケジュールやシフト管理でエクセルで出勤時間や退勤時間などでは時刻をセルに入力しますが、24:00と入力したのに自動的に0:00と表示が変わってしまって、勤務時間の計… -
エクセル関数で生年月日から現在の年齢を自動表示させる方法
エクセルの顧客リストや住所録などで生年月日は記載されているけど、年齢までない場合にわざわざ計算するの面倒だと思った事ありませんか? そこで、今日現在の日付を自…
紅葉スポット
-
「乙女の湖」鎌北湖畔の湖面反射が美しい紅葉絶景へ東毛呂駅からバス
【紅葉見頃】 飯能市の北にある入間郡毛呂山町の山中にある鎌北湖は、毛呂山町ホームページによると昭和10年に完成した農業用貯水池として作られた人工湖で、周囲2㎞… -
嵐山渓谷の黄金色ススキと紅葉のコラボが埼玉県代表の景勝地へ
埼玉県を代表する景勝地の嵐山渓谷は秩父から流れる槻川沿いに独特の地形からなり、嵐山町観光サイトには下記のように書かれています。 日本で初めての林学博士・本多静… -
埼玉県第1号のダム「有間ダム」によりできた名栗湖畔の鏡面紅葉へ
初!と付くものはやっぱり宣伝したい、そして四季折々の景色が見られる自然絶景スポットならばなおさらですよね。 埼玉県飯能市にある名栗湖へ飯能駅からバスで行くこと… -
赤城公園でハイジのブランコと赤城神社へ赤城山の紅葉絶景へ
日本百名山の1つでもある赤城山は標高1,800mほどに位置し、群馬県を代表する名山です。 特に山頂部の火山の爆発でできたカルデラ湖の大沼周辺は、県立赤城公園として観… -
黄金色の世界へ茨城県立歴史館のいちょう並木道と水戸偕楽園へ
梅で有名な水戸偕楽園には毎年多くの観光客が2月中旬~3月上旬にかけて訪れますが、紅葉の11月上旬~11月下旬までも偕楽園のもみじ谷と茨城県立歴史館のいちょう並木を… -
ムーミンをイメージしたトーベ・ヤンソンあけぼの子どもの森公園の紅葉
入間市と飯能市の境界にある自然公園で、ムーミンの世界をイメージして作られてライトアップも盛んに行われて、幻想的な世界を体験することができます。 また、秋の紅葉…