VBA中的代码循环,永远不会结束。如何解决这个问题? [英] Code in VBA loops and never ends. How to fix this?
本文介绍了VBA中的代码循环,永远不会结束。如何解决这个问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我运行这个代码来删除具有> -100的行。
但是它保持循环,永远不会停止。
I run this code to delete rows which have have > -100. However it keeps looping and never stops.
我在这里缺少什么?
For i = 2 To 500
If Worksheets("Sales").Cells(i, 3).Value > -100 Then
Worksheets("Sales").Cells(i, 3).EntireRow.Delete
i = i - 1
End If
Next i
推荐答案
也许你可以联合行并立即删除它们?这样的东西(未经测试)。
Maybe you could union the rows and delete them at once? Something like this (untested).
Dim myRow As Range
Dim toDelete As Range
For i = 2 To 500
If Worksheets("Sales").Cells(i, 3).Value > -100 Then
Set myRow = Worksheets("Sales").Rows(i)
If toDelete Is Nothing Then
Set toDelete = myRow
Else
Set toDelete = Union(toDelete, myRow)
End If
End If
Next i
If Not toDelete Is Nothing Then _
toDelete.Delete
这篇关于VBA中的代码循环,永远不会结束。如何解决这个问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文