Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 为什么';这不是要删除每一行吗?_Excel_Vba - Fatal编程技术网

Excel 为什么';这不是要删除每一行吗?

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

我已经找到了一个解决方案代码,用于我尝试通过过滤和删除来执行的操作,但为了改善我在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.EntireRow.Delete
Next

End Sub

提前非常感谢。

您需要向后循环,请参阅此处的许多示例:我的问题可能重复的不是“为什么会持续循环”,而是为什么不会循环?因此,我不同意这是所提供线程的副本。如果修复是向后循环,我感谢你,但我的问题是为什么,为什么当我写下它时,它会在识别出一两行后自动停止。非常感谢关于如何解决你的问题的答案是一样的。问题是:当您向前循环并来到一行删除下面的一行时,它将成为活动循环,然后它将删除并有效地跳过该行。例如,删除第10行,第11行变成第10行,循环移动到新的第11行,即第12行,从而跳过旧的第11行。谢谢,这正是我想知道的。