我正在尝试编写一个宏,如果单元格= 0在给定的范围内,它将删除一行。我遇到的问题是,当For Each循环运行时,它将找到该单元格并删除该行,但是如果它下面的行也为0,则由于代码已移至下一个范围而最终被代码跳过。我正在寻找一个宏,该宏将在一个单元格范围内找到0,并将在具有0的范围内循环,直到该单元格大于0为止。
Sub Pub_Clean() Dim IRange As Range Dim VRange As Range Set VRange = Range(ActiveSheet.Range("b3"), ActiveSheet.Range("b3").End(xlDown)) For Each IRange In VRange If IRange = 0 Then IRange.EntireRow.Delete End If Next IRange End Sub
Roberto.. 5
删除时,典型的方法是从底部开始并向上循环。这需要索引指定的循环,而不是FOR EACH。以下是一些详细信息:
For I=TotalRows To 1 Step -1 Set c = Range("C" & I) ' code to check for criteria and delete if required Next I
取自此处:http : //www.ozgrid.com/forum/showthread.php?t=56516
删除时,典型的方法是从底部开始并向上循环。这需要索引指定的循环,而不是FOR EACH。以下是一些详细信息:
For I=TotalRows To 1 Step -1 Set c = Range("C" & I) ' code to check for criteria and delete if required Next I
取自此处:http : //www.ozgrid.com/forum/showthread.php?t=56516