Excel 为什么';这不是要删除每一行吗?
我已经找到了一个解决方案代码,用于我尝试通过过滤和删除来执行的操作,但为了改善我在VBA方面的知识不足,我想了解为什么这个宏不能按我的预期工作 例如,;我想识别以“HH G”开头的列的值,并删除整行数据。 我提出的宏实际上可以工作,但我必须手动重复它,因为它一次只能删除几行Excel 为什么';这不是要删除每一行吗?,excel,vba,Excel,Vba,我已经找到了一个解决方案代码,用于我尝试通过过滤和删除来执行的操作,但为了改善我在VBA方面的知识不足,我想了解为什么这个宏不能按我的预期工作 例如,;我想识别以“HH G”开头的列的值,并删除整行数据。 我提出的宏实际上可以工作,但我必须手动重复它,因为它一次只能删除几行 Sub test() Dim c As Range For Each c In Range("Table19").Columns(5).Cells If Left(c, 4) = "HH G" Then c.EntireR
Sub test()
Dim c As Range
For Each c In Range("Table19").Columns(5).Cells
If Left(c, 4) = "HH G" Then c.EntireRow.Delete
Next
End Sub
提前非常感谢。您需要向后循环,请参阅此处的许多示例:我的问题可能重复的不是“为什么会持续循环”,而是为什么不会循环?因此,我不同意这是所提供线程的副本。如果修复是向后循环,我感谢你,但我的问题是为什么,为什么当我写下它时,它会在识别出一两行后自动停止。非常感谢关于如何解决你的问题的答案是一样的。问题是:当您向前循环并来到一行删除下面的一行时,它将成为活动循环,然后它将删除并有效地跳过该行。例如,删除第10行,第11行变成第10行,循环移动到新的第11行,即第12行,从而跳过旧的第11行。谢谢,这正是我想知道的。