• ベストアンサー

マクロで一括変換

和暦(年のみ)から西暦(年のみ)へ一括変換させたいです。 マクロをどのように書けば良いでしょうか。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#148473
noname#148473
回答No.4

#2です。では解説を。 Sub 和暦→西暦変換() Dim c As Variant For Each c In Selection ' 選択された全てのセルに対して、セルの値を変数cに代入してFor~Next間の処理を行う Select Case c.Value ' cの値によって分岐処理を行う Case 1 To 30 ' cの値が1以上30以下のとき c.Value = c.Value + 1988 ' cの値を1988加算する Case 31 To 64 ' cの値が31以上64以下のとき c.Value = c.Value + 1925 ' cの値を1925加算する Case Else ' cの値がそれ以外の時は、何もしない End Select Next End Sub とまあ、こんな感じです。VBAが使えるとExcelの利用価値は倍増しますよヨ。 ご参考になれば幸いです。

rica19
質問者

お礼

たびたびありがとうございました。 時間のあるときにゆっくり文法について勉強したいと思います。 すぐにマクロが作成できるってすごいですね!尊敬します。 本当に助かりました。 ありがとうございました。 これで作業も早くなります。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

西暦年の数字から、邦暦の年号を正確に計算する事はできないはずです。 昭和64年1月7日まで昭和で、1月8日から平成1年になると言ったように、月日まで見ないと年号は決められません。(注) 既回答はそれなりのものですが、用途から、それで良ければ良いんですが。 明治から大正、大正から昭和の場合も同様です。 (注)エクセルでA1に1989/1/1といれ、下へ引っ張り、A列の書式を日付の「平成9年3月4日」(エクセル2000の場合の例示)を選んでみれば判ります。

rica19
質問者

お礼

今回はそんなに複雑なものでもなく、和暦から西暦の年数だけでしたので#2の方が教えてくださったマクロで充分活用できました。 詳しい解説、ありがとうございます。 本髄はおっしゃるとおりなのでしょうね。 勉強になりました。

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.3

簡単な方法。 昭和、平成しか考慮せず、かつ、昭和は20年以下、平成は21年以上を考慮しないやり方です。 A1に数値を入れたとして B1に =IF(A1<20,A1+1988,A1+1925) と記入。 なんにしても元号がわからないと無理ですよね。

rica19
質問者

お礼

関数で・・・というのも私も考えたんですが、今回はマクロを勉強してみたいと思いました。 でも、ありがとうございます。 いろんな考え方があるんですね。 参考になりました。

noname#148473
noname#148473
回答No.2

とりあえず作ってみました。 数値が30以下の場合は平成、31~64の場合は昭和として扱います。65以上のときは何もしません。 Sub 和暦→西暦変換() Dim c As Variant For Each c In Selection Select Case c.Value Case 1 To 30 c.Value = c.Value + 1988 Case 31 To 64 c.Value = c.Value + 1925 Case Else End Select Next End Sub こんなものでお役に立ちますでしょうか?

rica19
質問者

お礼

ありがとうございます!! 見事に変換できました。 助かりました!! もしお時間があったら この文法の説明(解説)をお願いできますと今後の勉強になります。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 まず、アプリケーションは何ですか? Excel? Word? Access? それと、バージョンも。 あと、OSのバージョンも。 コンピュータ関連の質問は、環境を明記しないと、正確な回答が出来ないですよ。 とりあえず、一般的な回答として、 和暦はどのように入力していますか? 年の数値だけですか? その場合は、元号はどのように判断するのでしょうか? 仮に、平成しか考えないのなら、単純に1988を加算するだけでいいと思いますが。

rica19
質問者

補足

急いでました。すみません。 アプリケーションは Excel2000と2002 OSは Windows NT4.0 和暦の年の数値のみ入力です。 昭和の場合もありますが古くても昭和46年の"46"というのもあります。 マクロ作成の文法がよくわからないので質問しました。 わかるのは概念くらいです。 必要な情報についてはどんどん捕捉しますので宜しくお願いします。 いろんな本やエクセル解説のHPなどもこのサイトを参考に回ってきましたがコレだ!と思えるものが見つかりませんでした。

関連するQ&A