自力で新元号変換する方法

皆さんお元気ですか?
私は軽く胃腸炎とか謎の咳が続いたりとかぜんぜん元気じゃないです。それでも毎日頑張っています。

さて、今日はこんな関数を数行のコードでサクッと作る方法をご案内します。(サンプルファイルもあるよ)
ワークシートでもVBAでも使える新元号変換関数

スポンサーリンク

ところで皆さんの会社では新元号の「令和」、どう対応していますか?もちろん西暦に変更ですよね^^
って、えっ!?会社的には新元号で行くって?ご愁傷様です。

なんだか「Windowsの令和対応、10連休前に間に合わない恐れ」みたいな記事が出ているそうで、天下のMicrosoftも日本のバタバタぶりに困惑しているのではないでしょうか。日本政府は天皇のお気持ち表明の意図や全国のエクセル使いのお気持ちをちゃんと汲んでほしかったです。さらにMicrosoftがパッチを配布しても勤め先の企業はそれを適用する気がないなんて宣言されちゃって絶望してる人もいるんじゃないでしょうか。皆さんがストレスで軽い胃腸炎とか謎の咳に悩まされていないか心配です。

もうけっこういろんな人がそういう関数とかマクロを書いて公開しているんじゃないかなと思いますが、それは一切見ず、私も簡単なものをシェアさせていただきます。
いや実は「令和」発表のずっと前からこのコード書いておいたんですよ。でもなんか忙しくてやる気もなんにも無くなっちゃってお蔵入りかな?なんて思ってたんですけど、残念な新聞記事も出ちゃってることですし、しばらくのあいだMicrosoftのパッチが届かない世界に閉じ込められているごく少数の人の中でも更に私が書いたいい加減なVBAコードでも何かしらの参考にしてくれる人がいればいいなって思って重い筆をとりました。久しぶりに。

こんな感じです。

サンプルファイルもおいときます。
custom_gengou.xls

「元年」じゃなくて「1年」と表示されちゃいますけど、そこはご愛嬌で。
そこまで対応するとコードが長くなってしまって結局読む気が失せてしまいますので。。。

また、新元号に対応するMicrosoftのパッチが適用されたならば、こんな回りくどいことしてないで皆さん迷わずTEXT関数(ワークシート上)とかFormat関数(VBA上)とかを使ってくださいね。
このサンプルは、あくまでも新元号に自力で対応しなければならないかわいそうな会社のかわいそうな人のためのものです。

とりあえず雑ですが今日はこれまで。
ではまた。

Pocket