Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5497 / 13645 ツリー ←次へ | 前へ→

【50445】任意の年月日のX年後の表示 me 07/7/25(水) 23:59 質問[未読]
【50447】Re:任意の年月日のX年後の表示 マクロマン 07/7/26(木) 9:30 発言[未読]
【50448】Re:任意の年月日のX年後の表示 Jaka 07/7/26(木) 9:34 発言[未読]
【50451】Re:任意の年月日のX年後の表示 Jaka 07/7/26(木) 10:02 発言[未読]
【50469】Re:任意の年月日のX年後の表示 Lindy 07/7/26(木) 17:01 発言[未読]
【50450】Re:任意の年月日のX年後の表示 Lindy 07/7/26(木) 9:57 発言[未読]

【50445】任意の年月日のX年後の表示
質問  me  - 07/7/25(水) 23:59 -

引用なし
パスワード
   3つのコンボボックスがあり、一つは数十年分の西暦の下二桁、一つは月を2桁で12個、最後の一つは日を二桁で31個表示するようにしています。それぞれで選んだ年、月、日を任意の年後、例えば、07.07.25(2007年7月25日)を選び、2年後とした場合、月日だけは10月25日で固定するようにして、09.10.25と表示するようにしたいのです(5年後だと12.10.25)。
よき知恵を授けてください。

【50447】Re:任意の年月日のX年後の表示
発言  マクロマン  - 07/7/26(木) 9:30 -

引用なし
パスワード
   DateAdd
を使ってはいかがでしょう?

【50448】Re:任意の年月日のX年後の表示
発言  Jaka  - 07/7/26(木) 9:34 -

引用なし
パスワード
   2桁年号はろくなことが無いので止めた方が良いです。
おまけに年号はアメ公方式で扱われる危険性が高いです。

とりあえず手法だけだけど。

SS = "07.07.25"
SS = "20" & Replace(StrConv(SS, vbNarrow), ".", "/")
MsgBox Format(DateAdd("Y", 5, CDate(SS)), "yyyy/mm/dd")

【50450】Re:任意の年月日のX年後の表示
発言  Lindy  - 07/7/26(木) 9:57 -

引用なし
パスワード
   ▼me さん:
こんにちは

年月日がそれぞれ別に入力されているようなので
年を足してから日付にする方法もあります

Dim y As Integer, m As Integer, d As Integer
y = Val(Me.ComboBox1.Value) + ?年後
m = Val(Me.ComboBox2.Value)
d = Val(Me.ComboBox3.Value)
表示先 = Format(DateSerial(y, m, d), "yy.mm.dd")

【50451】Re:任意の年月日のX年後の表示
発言  Jaka  - 07/7/26(木) 10:02 -

引用なし
パスワード
   >一つは数十年分の西暦の下二桁、一つは月を2桁で12個、最後の一つは日を二桁で31個表示するようにしています。
読んでなかった....。
すみません。

【50469】Re:任意の年月日のX年後の表示
発言  Lindy  - 07/7/26(木) 17:01 -

引用なし
パスワード
   私も今回始めて知ったのですが、ヘルプだと
DateAdd の"Y"って年じゃなくて、年間通算日となってますね・・・
つまり2年なら2年分の日数を足してあげないといけない。

使いにくいですね(>_<)

5497 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free