[英]EXCEL VBA - Do While loop with 2 dates
在Excel中用開始日期和當前日期之間的日期填充行。 人口是每周一次,以下是我的職能。 它可以正常工作直到不停止,直到出現溢出錯誤,然后繼續無限運行,因此我認為CurrentDate無法正常工作。
使用的2個日期是StartDate = 04/1/2016
和CurrentDate = 12/07/2017
StartDate = 04/1/2016
。
任何幫助或建議,將不勝感激。
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
如果您決定需要保持StartDate
的值(例如,在代碼的后面使用),則可以將循環替換為:
i = 0
Do While StartDate + i * 7 < CurrentDate
wsCRC.Cells(5, i + 12) = StartDate + i * 7
wsCRC.Cells(5, i + 12).EntireColumn.AutoFit
i = i + 1
Loop
自己看完之后,我意識到我沒有增加開始日期,因此循環是無限的。 感謝@Nathan_Sav在注釋中也指出了這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.