【发布时间】:2021-10-05 05:07:33
【问题描述】:
我在这里看到了有关如何创建所有日期数组或每个月的开始日期和结束日期之间的日期的示例。但是,我正在尝试每 2 周创建一个日期数组,特别是在开始日期和结束日期之间。
例如。如果startdate = 7/18/2021 和enddate = 12/28/2025,我想要一个数组:
array = {7/18/2021, 8/1/2021, 8/15/2021, ..., 12/28/2025}
我该怎么做呢?我尝试使用录制的宏,但它只使用 xlFillDefault 而实际上并没有指定使用的算法。
Sub get2weekdates()
'
' get2weekdates Macro
'
'
ActiveCell.FormulaR1C1 = "7/18/2021"
Range("D6").Select
ActiveCell.FormulaR1C1 = "8/1/2021"
Range("D5:D6").Select
Selection.AutoFill Destination:=Range("D5:D121"), Type:=xlFillDefault
Range("D5:D121").Select
End Sub
【问题讨论】:
-
您可能需要检查 Excel 中的 SEQUENCE 函数;你可能不需要VBA? =SEQUENCE((EndDate - StartDate)/14 + 1, 1, StartDate, 14)
-
基本上,您可以使用 for 循环进行循环,并将 14 添加到从开始日期的 double 值开始的 double 中。在 Excel 中,日期只是双倍,即从 1899 年 12 月 31 日开始的天数。