如何使用excel VBA删除第一列中包含特定代码的行?

我每周运行一次报告,我必须采取的一个步骤是删除一行,其中包含一个特定的短语,在我的情况“CFS-GHOST-DJKT”,在列A.行阅读通过7开始,并有一个variables结束。

我已经在网上查找,根据我发现以下代码应该工作,但我得到和错误,它不喜欢与细胞(Lrow,“A”)行

我相信,就删除部分而言,它的方式是好的,但问题在于select方面。

Firstrow = 7 Lastrow = Cells(Rows.Count, "A").End(xlUp).Row With Cells(Lrow, "A") If Not IsError(.Value) Then If .Value = "CFS-GHOST-DJKT" Then .EntireRow.Delete End If End With 

根据你的叙述(“我必须…删除一行”),你似乎只打扰了一次“CFS-GHOST-DJKT”

在这种情况下,不需要遍历单元格,只是尝试find它,如果成功,则删除整行

  Dim f As Range Set f = Range("A7", Cells(Rows.Count, "A").End(xlUp)).Find(what:="CFS-GHOST-DJKT", LookIn:=xlValues, lookat:=xlPart) If Not f Is Nothing Then f.EntireRow.Delete 

在删除时,您需要从最后一行迭代到第一行,否则您将跳过行。

 Dim x As Long For x = Cells(Rows.Count, "A").End(xlUp).Row To 7 Step -1 If Cells(x, "A") = "CFS-GHOST-DJKT" Then Rows(x).Delete Next