エクセルで昭和・平成・令和を西暦に変換するフォームを作成方法

エクセル検索
HOMEUserForm印刷画面ファイル図形
日付・時刻データセル関数VBA関数

昭和●●年って西暦で何年?調べるの結構面倒だと思ったことありませんか?

令和の時代になり和暦を使わずに西暦を基本に使うようになっていますが、簡単に変換できるフォームがあると便利なので、作り方をご紹介します。

和暦から西暦変換フォーム

まず始めに、全ての事をマクロ上で行う事もできるのですが、とても複雑な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コードを書きこみましょう。

コピペOK!

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をクリックしたら
  2. もしオプションボタン1を選択したら
  3. セルA2に「昭和」と転記する
  4. そうではなくオプションボタン2が選択されたら
  5. セルA2に「平成」と転記する
  6. そうではなくオプションボタン3が選択されたら
  7. セルA2に「令和」と転記する
  8. そうではなくオプションボタン4が選択されたら
  9. セルA2に「予備」と転記する
  10. IFステートメント終了
  11. セルB2の値はテキストボックス1の値を記載する
  12. ユーザーフォーム1のラベル4の表示文字はセルC4の値を記載する
  13. マクロ記述終了
波乗りアヒル

これで完成です、体裁無視すれば簡単にできます。
もちろんItemを使って、VBAコードを記載すればワークシートは白紙で綺麗なままなので、体裁は良くなりますが大変ですよ。

関連記事

どこかにビューーン
ちょっとの工夫で往復無料の時代が来た!!

新着ページ

よく見られているページ

大容量無料ファイル転送サービス【ACデータ】 無料イラスト【イラストAC】

紅葉スポット

よかったらシェアしてね!
  • URLをコピーしました!