我目前正在尝试创建一个循环,将查看列C从第5行开始,并比较该列中的每个单元格,直到它到达该列中最后使用的单元格。 每个单元格将检查8个变量,看它是否匹配。如果单元格不匹配任何变量,则必须删除整行。VBA循环遍列来比较每个单元格与变量,并删除该行,如果它不匹配
我现在的尝试是这样的:
Dim AC as long
Dim LastRow as long
AC=5
LastRow= Activesheet.range("A" & Rows.count).end(xlup).row
For AC = 5 To LastRow
With Cells(AC, "C")
Do Until Cells(AC, "C").Text = OC1 Or Cells(AC, "C").Text = OC2 Or Cells(AC, "C").Text = OC3 Or Cells(AC, "C").Text = OC4 Or Cells(AC, "C").Text = NC1 Or Cells(AC, "C").Text = NC2 Or Cells(AC, "C").Text = NC3 Or Cells(AC, "C").Text = NC4
Rows(AC).EntireRow.Delete
Loop
End With
Next AC
这应该确保,一旦行已被删除新的一行了它的位置(防爆删除整个行5会导致第6行成为第5行。 )所以它应该在出现匹配时退出Do循环,抓住下一个行号并重复,直到出现另一个匹配。只有代码一直抛出执行中断错误。有人可以告诉我我做错了什么吗?
是否真正产生一个错误,或做它会陷入无限循环? – YowE3K