每次我启动文件并单击userform的宏时,组合框应该包含今天和未来日期的日期列表,它不能有过去的日期。
这是我的代码,它只在组合框中输入日期并格式化列表的值。但我不知道如何列出其中的未来日期。
Public Sub UserForm_initialize()
ComboBox3.Value = Format(Date, "dd/mm/yyyy")
ComboBox3.Value = Format(ComboBox3.Value, "dd/mm/yyyy")
End Sub
答案 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