- ベストアンサー
VBA(Access)の日付を自動で追加したいです
VBAについての質問です。 日付をリストボックスに追加したいのですが、2013年から始まり、2014年、2015年となるごとに自動で追加されていくようにプログラムを組みたいです。 プログラミング初心者なのもので、どのように組めばいいのかがわかりません。 どうかご教授お願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ちょっとどう答えたらいいのか悩む。 どうしたいのか具体的に書いてないので勝手な想像で書きます。 「日付をリストボックスに追加したい」とのことなので "2013/06/24" のような年月日タイプの日付を日付レベルでリストボックスに表示させてみる。 「2013年から始まり、2014年、2015年となるごとに自動で追加されていく」 とあるが、「いつからいつまで」の日付を表示させたいのかがまったくわからないので「今日の日付から 1年分の日付」つまり約 365個の日付をリストボックスに表示させる。 フォームにリストボックスを追加し、名前を listbox1 とした。 フォームが呼び出された時、つまり Load イベントでリストボックスに日付を追加する。 Private Sub Form_Load() Me.listbox0.RowSourceType = "Value List" ' リストボックスの値集合タイプを "値リスト" にする Dim currentDate As Date Dim endDate As Date currentDate = Date ' 今日の日付 endDate = DateAdd("yyyy", 1, currentDate) - 1 ' 今日の日付から 1年後の 1日前の日付 Do Until currentDate > endDate Me.listbox0.AddItem currentDate ' 1日分ずつリストボックスに追加 currentDate = currentDate + 1 Loop End Sub もし仮に 「今年の 1月1日から 1年分の日付」 というのであれば以下のようにする。 currentDate = DateSerial(Year(Date), 1, 1) すべて勝手な想像なので外しまくっている可能性が大きいけど・・・
お礼
早い回答、ありがとうございます! 参考にさせていただいて、なんとかうまくできました!