我试图找到一种简单的方法来摆脱“糟糕”的问题。我的工作表中的行,有3780行。而不是每次扫描和删除每一行,这是耗时的,我想知道是否有更简单的方法?
可能每次在位于每一行的单元格中找到错误值(例如' Apple')时,通过制作一个突出显示列范围(A-L)中的单元格的宏。
有些事情:
If =ISTEXT() then delete row
我希望这是有道理的,如果没有,请告诉我。
答案 0 :(得分:1)
这个小宏将在 A 到 L 列中的任何单元格中搜索 apple ,并删除该行:
Sub KillBadApple()
Dim rng As Range
Set rng = Intersect(ActiveSheet.UsedRange, Range("A:L"))
nLastRow = rng.Rows.Count + rng.Row - 1
nFirstRow = rng.Row
For i = nLastRow To nFirstRow Step -1
exam = ""
For j = 1 To 12
exam = exam & Chr(1) & Cells(i, j).Text
Next j
exam = LCase(exam)
If InStr(exam, "apple") > 0 Then
Cells(i, j).EntireRow.Delete
End If
Next i
End Sub