Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA删除包含某些字符串值的单元格_Vba_Excel - Fatal编程技术网

Excel VBA删除包含某些字符串值的单元格

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

我试图编写一个代码,逐行检查该行中的某一列是否包含字符串值“Pick Up”或“Pick”,以及它是否删除整行。我当前拥有的代码将运行,并删除包含所述值的一些行。但不是所有的

我已经尝试过自动过滤方法,就我的目的而言,我不相信它会起作用

任何帮助都将不胜感激。谢谢

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
,因此您甚至告诉它不必要地进一步跳过行!