開始日と終了日を持つように日付をループさせようとしています。たとえば、4月3日に開始し8月31日に終了します。4月3日後に、終了日まで7日が追加されます日付と日付を表示します。私はそれをループしようとしていますが、それは無限にループし、まったく停止しません。最初の2週間は動作しますが、Do untilループを開始すると動作しません。変数W
のあなたのインクリメント値がENDDオーバーを「ジャンプ」可能性があるため、事前のおかげであなたの助けのための日付のループ
x = 5
endD = Sheet1.Range("C20").Value
startD = Sheet1.Range("C19").Value
mth = Month(startD)
Name = MonthName(mth, True)
no = Day(startD)
Sheet1.Range("C2").Value = no
Sheet1.Range("C1").Value = Name
dates = DateAdd("d", 7, startD)
Name = MonthName(Month(dates), True)
Sheet1.Range("D2").Value = Name
Sheet1.Range("D1").Value = Day(dates)
W = dates
Do Until W = endD
m = DateAdd("d", 7, W)
W = m
no = 0
Name = " "
no = Day(m)
Name = MonthName(Month(m), True)
Sheet1.Cells(1, x).Value = Name
Sheet1.Cells(2, x).Value = no
x = x + 1
Loop
今度は5月8日までループします.... –
私たちは無限ループの問題を解決したので、 'Debug.Print endD'を試してみて、デバッガで変数をチェックしてください。@RachelChia –
それは非常に奇妙です終了日が7月31日で、他の日付ではない場合には動作します –