我使用了来自其他堆栈交换问题的逻辑和类似的问题,但我无法弄明白。 (这里有好的例子:VBa conditional delete loop not working)我确定这很简单。为什么我的代码会陷入无限循环?
我只是替换一个值,然后删除一系列行。什么想法有什么不对?双循环问题可能吗?我看了太长时间,这一切对我来说都是合乎逻辑的。任何帮助将非常感激。
i = 4
Do While i < 10
j = 0
Do While j < 24
ho = Cells(i, 69 + j)
If 0 < ho < 3 Then
k = Cells(i, 67 + j)
Cells(i - 1, 67 + j) = k
Range(Cells(i, 66 + j), Cells(i, 69 + j)).Delete (xlShiftUp)
Else
j = j + 4
End If
Loop
i = i + 1
Loop
答案 0 :(得分:0)
更改您的if语句。当没有更多数据时,这将停止它。
If 0 < ho AND ho < 3 AND ho<>"" Then