ComboBox中的今天日期和未来日期下拉列表

时间:2014-04-10 02:27:56

标签: excel vba excel-vba

每次我启动文件并单击userform的宏时,组合框应该包含今天和未来日期的日期列表,它不能有过去的日期。

这是我的代码,它只在组合框中输入日期并格式化列表的值。但我不知道如何列出其中的未来日期。

Public Sub UserForm_initialize()
    ComboBox3.Value = Format(Date, "dd/mm/yyyy")
    ComboBox3.Value = Format(ComboBox3.Value, "dd/mm/yyyy")
End Sub

1 个答案:

答案 0 :(得分:4)

而不是Date使用Now()。 "日期"是数据类型的半保留关键字。你可以将它作为一个变量使用它,但这样做会很模糊/混乱。

我这样做的方法是在循环中使用listbox .AddItem方法,使用DateAdd函数进行一些日期算术(超级方便,如果你经常使用日期!)

Public Sub UserForm_initialize()
    Dim i as Integer
    Dim myDate as Date
    myDate = Now()
    For i = 0 to 10 'Add the next 10 days, for example
        ComboBox3.AddItem Format(DateAdd("d", i, myDate), "dd/mm/yyyy")
    Next
    ComboBox3.ListIndex = 0 
End Sub