Excel VBA删除包含某些字符串值的单元格
我试图编写一个代码,逐行检查该行中的某一列是否包含字符串值“Pick Up”或“Pick”,以及它是否删除整行。我当前拥有的代码将运行,并删除包含所述值的一些行。但不是所有的 我已经尝试过自动过滤方法,就我的目的而言,我不相信它会起作用 任何帮助都将不胜感激。谢谢Excel VBA删除包含某些字符串值的单元格,vba,excel,Vba,Excel,我试图编写一个代码,逐行检查该行中的某一列是否包含字符串值“Pick Up”或“Pick”,以及它是否删除整行。我当前拥有的代码将运行,并删除包含所述值的一些行。但不是所有的 我已经尝试过自动过滤方法,就我的目的而言,我不相信它会起作用 任何帮助都将不胜感激。谢谢 Sub Delete() Dim x As Long, y As Long Dim testString As String y = Worksheets("Data").Range("A1", Range("A1").End(x
Sub Delete()
Dim x As Long, y As Long
Dim testString As String
y = Worksheets("Data").Range("A1", Range("A1").End(xlDown)).Rows.Count
For x = 2 To y
testString = Worksheets("Data").Cells(x, 27).Value
testString = Trim(testString)
If testString Like "*Pick-Up*" Or testString Like "*Pickup*" Then
Rows(x).EntireRow.Delete
Else
x = x + 1
End If
Next x
End Sub
您需要在行中后退,否则一旦删除某些内容,行计数器就会跳过。例如,要启动循环,请使用:
For x=y to 2 step-1
此外,您还有一行写着x=x+1
,因此您甚至告诉它不必要地进一步跳过行!