vba - 组合框中的今天日期和 future 日期下拉列表

标签 vba excel

每次我启动文件并单击用户窗体的宏时,组合框应该有今天和 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/

相关文章:

vba - 宏仅在事件工作表中打印,而不是在引用工作表中打印

excel - 如何使用 SendKeys 从 DOS 应用程序复制粘贴到 Excel?

excel - 在 Excel 2013 中使用宏设置打印区域

vba - 如何用英文命名一个excel表

java - 使用java将xml转换为具有特定xml元素的excel

vba - 排序出四个整数: VBA Excel

vba - 将匹配的行复制到另一张纸中

sql-server - 如何实现高性能 Excel VSTO 到 SQL Server?

VBA:在 VBA 用户窗体框架上显示复选框的网格

excel - 将组合框链接到 excel vba 中的文本框 - 错误 1004