VBA循环遍历范围并基于值删除行
我不知道为什么,但是我很难运行这段代码来循环范围并根据值删除行。这段代码是我正在编写的一个更大的宏的一部分,但到目前为止,它运行良好VBA循环遍历范围并基于值删除行,vba,loops,row,rows,Vba,Loops,Row,Rows,我不知道为什么,但是我很难运行这段代码来循环范围并根据值删除行。这段代码是我正在编写的一个更大的宏的一部分,但到目前为止,它运行良好 Dim Lastrowresults as integer Dim Counter as integer Dim Resultsheet as worksheet Dim rowcounter as integer Set resultsheet=sheets("Search Results") LastRowResults = ResultSheet.Rang
Dim Lastrowresults as integer
Dim Counter as integer
Dim Resultsheet as worksheet
Dim rowcounter as integer
Set resultsheet=sheets("Search Results")
LastRowResults = ResultSheet.Range("A1").End(xlDown).Row
For Counter = 3 To LastRowResults
If ResultSheet.Range("I" & Counter).Value = "No" Then
RowCounter = ResultSheet.Range("I" & Counter).Row
Rows(RowCounter).EntireRow.Delete
End If
Next Counter
在删除行之前,较大的宏是否关闭了屏幕更新 也许您可以在删除行之前尝试这一行:
Application.ScreenUpdating=False
最后打开:
Application.screenUpdate=true
结果是它正在删除行,但这会再次将行上移到#3,因此它会通过移动到第#4行来跳过该行。。这就是我想出的解决办法
If SgLendsQ.Value = True Then
LastRowResults = ResultSheet.Range("A1").End(xlDown).Row
DelC = 3
For Counter = 3 To LastRowResults
If ResultSheet.Range("I" & DelC).Value = "No" Then
ResultSheet.Rows(DelC).EntireRow.Delete
ElseIf ResultSheet.Range("I" & DelC).Value = "Yes" Then
DelC = DelC + 1
End If
Next Counter
End If
有什么问题?预期的行为是什么?什么是不希望出现的行为?我希望在宏运行完成后删除行,但它们没有。是的,我已关闭屏幕更新,然后在末尾重新打开。抱歉,我的错误,我认为您的宏运行缓慢。可能是因为它没有删除正确工作表中的行<代码>结果表.行(行计数器).EntireRow.Delete