昭和●●年って西暦で何年?調べるの結構面倒だと思ったことありませんか?
令和の時代になり和暦を使わずに西暦を基本に使うようになっていますが、簡単に変換できるフォームがあると便利なので、作り方をご紹介します。
和暦から西暦変換フォーム
まず始めに、全ての事をマクロ上で行う事もできるのですが、とても複雑な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で和暦西暦対応カレンダー作成
エクセル関数を基本として作成し、ユーザーフォームで日付選択ができるようにすることで複雑なマクロが分からなくても、自由にカスタマイズして自分のエクセルに組み込… -
日付・時刻関数
今日の日付を取得して指定したセルに表示させるエクセル関数
エクセルで今日の日付をセルに入力するのに、わざわざカレンダーを見て手入力すする作業が面倒だと思ったことはありませんか? こんな無駄な作業をしている時間があった… -
エクセル関数
エクセル関数で生年月日から現在の年齢を自動表示させる方法
エクセルの顧客リストや住所録などで生年月日は記載されているけど、年齢までない場合にわざわざ計算するの面倒だと思った事ありませんか? そこで、今日現在の日付を自… -
日付・時刻関数
エクセルの時刻表示を0:00ではなく24:00にする方法
スケジュールやシフト管理でエクセルで出勤時間や退勤時間などでは時刻をセルに入力しますが、24:00と入力したのに自動的に0:00と表示が変わってしまって、勤務時間の計… -
日付・時刻関数
エクセルで昭和・平成・令和を西暦に変換するフォームを作成方法
昭和●●年って西暦で何年?調べるの結構面倒だと思ったことありませんか? 令和の時代になり和暦を使わずに西暦を基本に使うようになっていますが、簡単に変換できるフォ… -
ユーザーフォーム
Excel-VBAタイマー機能で数秒後にユーザーフォームを表示させる方法
エクセルを使って成績などを入力して作成した成績表で、入力漏れがなかったかどうかなどをチェックするのに数秒間だけ指定したページや範囲を表示させたいと思ったこと… -
データの操作
エクセル関数とVBAを組み合わせて商品期限切れ通知を表示する方法
小さな会社や個人では、アプリや専用ソフトを使って商品管理とかはコストが見合わず、エクセルで商品管理していませんか? このエクセルによる商品管理でリストの中にあ…
紅葉スポット
-
茨城県大子町の永源寺へ常陸大子駅から徒歩圏内の紅葉スポットへ
【紅葉見頃】 茨城県の大子町に紅葉名所の「永源寺」があり、境内を埋め尽くすほどのもみじの木があることから「もみじ寺」と呼ばれています。 近くには名瀑で有名な… -
千葉県の本土寺で五重塔と真っ赤に染まったもみじのコラボが見られる
6月にはあじさいが綺麗に見られ、あじさい寺として千葉県以外の観光客が多く訪れる本土寺に行かれたことがあれば気づいたかもしれませんが、あじさいの頭上にはもみじの… -
縁起だるま発祥の少林山達磨寺境内の真っ赤に染まる紅葉景色へ
【紅葉見頃】11月下旬~12月上旬 高崎市内循環バス「ぐるりん」バスのフリーエリア内にあるので、縁起だるま発祥の少林山達磨寺へ紅葉の時期になったら訪れてみてはい… -
フリーきっぷで行く埼玉県内の紅葉名所や穴場スポット12選
紅葉絶景めぐりといえば日光や軽井沢が人気紅葉スポットですが、人混みを避けてお得なフリーパスを使って最寄り駅からバスでゆったり紅葉を見に行ってみませんか? 埼玉… -
復元された平家の里へ平清盛像や茅葺屋根と水の郷で温泉と紅葉コラボ
【紅葉見頃】10月中旬~11月中旬 日光市の北部で鬼怒川温泉のさらに奥地にある湯西川温泉には平家落人伝説があり、秘話・伝説などが現代に伝える役目を果たすために「… -
塩原温泉・紅の吊橋の紅葉絶景へ那須塩原駅や黒磯駅からバスで行く
【紅葉見頃】10月下旬~11月中旬 塩原温泉郷と言えば、箒川(ほうきがわ)沿いに温泉旅館が点在している首都圏からも近い温泉街ですが、紅葉の時期になるとカエデやも…