- ベストアンサー
和暦、西暦の変換について(VBA)
こんにちは、VBAで西暦年から和暦年への変換でエラーが出て原因がよく分かりません。 下のようにして、変換してやろうとしてもyear1,month1,day1の型が違いますとかのエラーが出て、変数の型をInteger、String、 Variantでとろうとしてもエラーばかりです、宜しくお願いします。 もっと簡単に出来る方法があると思うのですが、よく分かりません。 曜日まで「平成○年○月○日(木)」というような表示形式にしたいのです。 year1 = Year(Format(Calendar1_F.Value, "yyyy/m/d/(aaaa)")) month1 = Month(Format(Calendar1_F.Value, "yyyy/m/d/(aaaa)")) day1 = Day(Format(Calendar1_F.Value, "yyyy/m/d/(aaaa)")) youbi1 = Right(Format(Calendar1_F.Value, "yyyy/m/d/(aaaa)"), 4) - Right(Format(Calendar1_F.Value, "yyyy/m/d/(aaaa)"), 3) TextBox3.Value = "平成" + (year1 - 1988) + "年" + month1 + "月" + day1 + "日" + "(" + youbi1 + ")"
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
http://www.geocities.jp/okaway03170507/oka1303.htm まったくそのまんまの回答があります。
その他の回答 (1)
- myRange
- ベストアンサー率71% (339/472)
Calendar1_Fがちゃんとした日付型になっている場合 >year1 = Year(Format(Calendar1_F.Value, "yyyy/m/d/(aaaa)")) 曜日まで変換しているのがエラーの原因ではないでしょうか。 year1 = Year(Format(Calendar1_F.Value, "yyyy/m/d")) それか、あっさりと year1 = Year(Calendar1_F.Value) また、曜日は youbi1 = Format(Calendar1_F.Value, "(aaaa)") で取得できます。 ●それから、個々の年、月、日を取得しなくていいなら次のような方法もあるかと。 TextBox3 = Format(Calendar1_F.Value, "ggge""年""m""月""d""日""(aaaa)")
お礼
有り難う御座いました
お礼
有り難う御座いました ある日のシリアル値と別のシリアル値を引き算、足し算してこれを何日間として日に戻す関数はどのようなものでしょうか