删除主键中没有#3的所有行作为开头
所以基本上,我需要删除没有3作为主键字段中的第二个数字的所有logging,例如,可以看起来像这样
#39001
或者没有#3
我想要的是所有的单元格有一个非#3开始,他们的行被删除我想出了下面的代码,它删除了一些非#3,但不是全部。 我有超过13000行扫描
Sub keep3() ' ' RemoveNum Macro Dim i As Integer For i = 2 To 14000 If InStr(Cells(i, 2), "3") = 2 Then Else Rows(i).EntireRow.Delete End If Next i End Sub
如果你能把我指向正确的方向,我将不胜感激!
谢谢!
当你删除一行下面的所有行向上移动,然后你增加“我”,实质上跳过新移动的行。 尝试以下代替…
Sub keep3() ' ' RemoveNum Macro Dim i As Integer i = 2 While i < 14000 If InStr(Cells(i, 2), "3") = 2 Then ' Do nothing i = i + 1 Else Rows(i).EntireRow.Delete ' Note - not incrementing i here End If Wend End Sub
2种可能性:
删除有Else
的行。 我认为这是阻止删除从你想要的方式工作。 我假设你没有超过14000行的数据….
或者可能是,当你删除行时,它会扰乱你正在运行的行的顺序。