我不知道为什么我会在标题中收到错误...我有一小段代码:
Do While ws2.Cells(Rand, 1).Value <> "" And Rand < 65000
Min = ws2.Cells(Rand, 5).Value
Data = ws2.Cells(Rand, 1).Value
If Min <> 0 Then
Do Until Min = 0
If Min < MinZi Then
ws.Cells(lRow, 1).Value = Data
ws.Cells(lRow, 2).Value = Min / MinZi
Min = 0
Else
ws.Cells(lRow, 1).Value = Data
ws.Cells(lRow, 2).Value = 1
Data = DateAdd("d", -1, Data) **'the error is on this line**
Min = Min - MinZi
End If
lRow = lRow + 1
Loop
End If
Rand = Rand + 1
Loop
在ws2.Cells(Rand,1)我有一些日期...所以我想阅读ws2中的每一行,只要我有一个日期...如果有一个日期我正在寻找第5栏中的分钟数。 因此,如果分钟数不等于0,那么如果分钟数小于一天中的分钟数,我计算Min代表多少...否则,如果分钟数大于分钟数一天,我将日期添加到不同的工作表中,数字为1(这意味着100%已满),然后我减去一天中的分钟数,直到我有0分钟。 数据定义为日期。 我有什么想法可以得到这个错误吗?
另一个奇怪的是,在工作表缓冲区(ws)中,它添加了与当前日期一样多的行(12/14/2011表示40891行)......我不知道为什么。 有什么想法吗?
非常感谢!
答案 0 :(得分:0)
如果Min > 0 and MinZi = 0
,那么内循环将继续,直到出现问题。
摔倒的可能原因:
我相信您的计划会在ws.Cells(lRow, 1).Value = Data
而非Data = DateAdd("d", -1, Data)
停止。
我建议您调查MinZi,我建议您在寻求帮助之前更多地关注调试器。