• ベストアンサー

コンボボックスに今日を含む、4日前までの日付を表示したい

ただいまVB6.0を勉強中です。 コンボボックスについて質問なのですが、 フォームを開いたらコンボボックスに 今日から(フォームを開いたときから)数えて4日前までの日付を、 ドロップダウン形式で表示したいのですが・・・。 どのような考え方、コーディングをすればよいでしょうか? 理想は下記のような感じです 2009-10-06▽(フォームを開いた日) 2009-10-05 (1日前) 2009-10-04 (2日前) 2009-10-03 (3日前) 2009-10-02 (4日前) 今現在、フォームを開いた際に コンボボックスに本日の日付しか表示することしかできません。 Private Sub Form_Load() ComboBox1 = Format(Now, "yyyy-mm-dd") End Sub ご教授のほど、よろしくお願いいたいます

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Private Sub Form_Load() Dim i As Integer For i = 0 To 4 Combo1.AddItem Format(Date - i, "yyyy-mm-dd") Next Combo1.Text = Combo1.List(0) End Sub みたいな感じ?

noname#163990
質問者

お礼

アドバイスありがとうございます! おかげをもちまして、完成することが出来ました。 まだプログラミングを始めたばかりで、 For文やWhile文が苦手なので、これからもっと 知識を習得して行きたいと思います。

その他の回答 (1)

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

Private Sub UserForm_Initialize() ComboBox1.AddItem Format(Date - 1, "yyyy-mm-dd") & "(1日前)" ComboBox1.AddItem Format(Date - 2, "yyyy-mm-dd") & "(2 日前)" ComboBox1.AddItem Format(Date - 3, "yyyy-mm-dd") & "(3 日前)" ComboBox1.AddItem Format(Date - 4, "yyyy-mm-dd") & "(4 日前)" End Sub VBAでやったので、InitializeはLoadになると思う。 4行ぐらいだとForNextとあまり変わらないので、一見して判るようあえて上記にしたが、ForNext[による方法は-1.-2・・と1日前・・ですから判りますね。 Date-i "(" & i & "日前"

noname#163990
質問者

お礼

アドバイスありがとうございます。 汎用性を考え、ForNextを使うことにしました。 ただ、固定であるのなら、これでもいいですね。

関連するQ&A