• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変換について。)

エクセルでの和暦変換方法

このQ&Aのポイント
  • エクセルでの和暦変換方法について教えてください。
  • マクロを使用して、特定の日付の和暦表記を取得する方法を教えてください。
  • ウィンドウズ7とエクセル2010を使用しています。1234/56/78のデータでは和暦変換できますが、単一の数字だけでは変換できません。どの部分を変更すればいいのか教えてください。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

>12345678のデータの場合コードの書き方は  ⇒日付の箇所を以下のように変更で如何でしょうか。   入力データは固定長が前提です。   日付 = CVDate(Format(Range("A" & i), "0000/00/00"))   因みに最終行は固定とせずにA列最終行としては如何でしょうか。   最終行 = Cells(Rows.Count, "A").End(xlUp).Row

yairi1106
質問者

お礼

ご回答ありがとうございます。 ずばり解決しました。 >日付 = CVDate(Format(Range("A" & i), "0000/00/00")) こういったコードを考えてたのですがなかなかうまくいかなくて・・・ ご質問してよかったです。 因みに最終行までは、ループさせているのですが 今回は100行目までとしました。 またつまずいた時には、ご教授お願いいたします。 どうもありがとうございました。

その他の回答 (1)

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

(1)エクセルを使わないで、計算処理的に和暦変換も不可能ではないだろう。しかし暦に関する江戸時代以前の昔の智識がいる。事実上一般人には不可能。 (2)そういう専用のソフトを使う手もある。 (3)エクセルを使うものなら、エクセルを使うのが便利。 しかし対象となる年には制限があることに気を付けて。 質問はこのへんに無頓着な、大げさな標題と例示になっているが、対象は明治大正昭和平成で無いのか。 >1234/56/78なんて例示が悪いと思う。 ほんとに西暦1200年代を考えているのか。だったらエクセルなんかのカテに質問すべきでない。 ーー エクセルでやるなら、すべてはセルの値(または変数の値が)が、日付シリアル値になっていることが必要。この言葉は初耳なんてでないだろうね。 だから19991202なども1990年12月2日の日付シリアル値に直すべきだ。 それは関数で出来る。その後はそのセルの表示形式を日付の年号つきのものに設定する。 A1セルに 19991202 とあるとして =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) ()内はMiD関数ばかりでデモできる またDATEVALUE関数でも出来る。その場合1999/12/02という文字列を作り=DATEVALUE()のカッコ内に入れる。 表示形式の設定の点は同じ。

yairi1106
質問者

補足

ご回答ありがとうございます。 細かく話すと質問が長くなってしまいますので かなり省略してしまいました。 実際には今現在明治・大正・昭和のみです。 提示例も悪かったですが、細かい仕様に関しては 検証済みで、元年の切り替えも対応はVBAで出来てます。 または年・月・日を3フィールドに分割して そこからコードを書けば 対応は出来ているのですが・・・ 色々参考にはなりましたが、マクロで組みたいと思っております。 どうもありがとうございました。

関連するQ&A