【发布时间】:2017-07-12 16:24:31
【问题描述】:
正在使用开始日期和当前日期之间的日期在 Excel 中填充一行。人口是每周一次,以下是我所做的功能。它可以正常工作,直到它不会停止但会继续无限运行,直到出现溢出错误,因此我的假设是 CurrentDate 无法正常工作。
使用的 2 个日期是 StartDate = 04/1/2016 和 CurrentDate = 12/07/2017。
任何帮助或建议将不胜感激。
Public Function PopulateStartOfWeekDates()
Dim wsCRC As Worksheet
Set wsCRC = Worksheets("CRC")
Dim StartDate As Date
Dim CurrentDate As Date
StartDate = FirstMondayOfYear()
CurrentDate = Date
Dim WeekOffset As Integer
Dim i As Integer
i = 12
WeekOffset = 0
Debug.Print StartDate
Debug.Print CurrentDate
Do While StartDate < CurrentDate
wsCRC.Cells(5, i) = StartDate + WeekOffset
wsCRC.Cells(5, i).EntireColumn.AutoFit
i = i + 1
WeekOffset = WeekOffset + 7
Loop
End Function
【问题讨论】:
-
你需要分享你的
FirstMondayOfYear函数,在调试模式下运行时StartDate有什么价值? -
StartDate在循环中保持不变,除非我弄错了? -
另外,你在哪里增加循环
StartDate内的值Do While StartDate < CurrentDate?你不是要在最后加上StartDate = StartDate +7吗?