Excel VBA質問箱 IV

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

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


9440 / 13644 ツリー ←次へ | 前へ→

【27328】日付の取得 [名前なし] 05/8/5(金) 14:27 質問[未読]
【27329】Re:日付の取得 じゅん 05/8/5(金) 15:10 回答[未読]
【27332】Re:日付の取得 [名前なし] 05/8/5(金) 15:28 お礼[未読]
【27333】Re:日付の取得 じゅん 05/8/5(金) 15:43 発言[未読]

【27328】日付の取得
質問  [名前なし]  - 05/8/5(金) 14:27 -

引用なし
パスワード
   今、入力フォームに入力された年月(例:200410)を基に、6か月分の年月を取得するマクロを考えています。何分、初心者ゆえにとても難しい・・・。

このマクロをもっと具体的に記述すると、入力フォームに入力される年月のパターンは2通りあり、6桁のうちの下2桁が04の場合と10の場合です。

04の場合は、09月まで月に該当する桁に1を足していく処理になります。
10の場合は、12月まで月に該当する桁に1を足していき、年をまたがるときに、2004を2005にする。それと同時に、月も、12から01月にします。月は、03月まで変化させます。

こんな処理、中々見ないので、分かりません・・・。
お分かりになる方、教えてください。

【27329】Re:日付の取得
回答  じゅん  - 05/8/5(金) 15:10 -

引用なし
パスワード
   DateSerial関数を使用すれば、簡単に出来ると思いますよ?

年のまたがりも自動で行ってくれますし。

【27332】Re:日付の取得
お礼  [名前なし]  - 05/8/5(金) 15:28 -

引用なし
パスワード
   ▼じゅん さん:
>DateSerial関数を使用すれば、簡単に出来ると思いますよ?
>
>年のまたがりも自動で行ってくれますし。


じゅんさん
ありがとうございます!
やってみます〜

【27333】Re:日付の取得
発言  じゅん  - 05/8/5(金) 15:43 -

引用なし
パスワード
   DateAdd関数でも良いかもしれません。

Sub subDate()
Dim strDate   As String
Dim strDay   As String
Dim i      As Integer

strDate = Application.InputBox("年月を入力して下さい。(6桁)", "年月入力", "200508", Type:=2)

'2005/08の形に変換
strDate = Left(strDate, 4) & "/" & Right(strDate, 2)

'半年まで表示
For i = 1 To 6
 MsgBox Left(DateAdd("m", i, strDate), 7)
Next

End Sub

簡単に書くと、こんな感じかな?

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