每次我启动文件并单击用户窗体的宏时,组合框应该有今天和 future 日期的日期列表,它不能有过去的日期。
这是我拥有的代码,它只在组合框中输入日期并格式化列表的值。但我不知道如何在其中列出 future 的日期。
Public Sub UserForm_initialize()
ComboBox3.Value = Format(Date, "dd/mm/yyyy")
ComboBox3.Value = Format(ComboBox3.Value, "dd/mm/yyyy")
End Sub
最佳答案
而不是 Date
使用 Now()
. “日期”是数据类型的半保留关键字。您也许可以将其用作变量,但这样做会模棱两可/令人困惑。
我这样做的方法是使用列表框.AddItem
循环中的方法,带有一些日期算法,使用 DateAdd
功能( super 方便,如果你经常使用日期!)。
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
关于vba - 组合框中的今天日期和 future 日期下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22977592/