在VBA中的If-condtion的"Then"之后使用And运算符?

man*_*niA 0 excel vba excel-vba

我的部分代码如下所示:

For i = 2 To Last Step 1
      If InStr(1, strg, Delim & ws2.Range("G" & i).Value & Delim, vbTextCompare) Then _
       ws2.Range("G" & i).EntireRow.Delete And i = i - 1

       Debug.Print i
Next i
Run Code Online (Sandbox Code Playgroud)

没有And-Part,代码运行良好.我得到一个错误,因为i=i-1.如果条件为真,我怎么说呢AND

Sha*_*ado 5

如果要执行的情况下,多个操作If条件满足,那么你需要把每一个操作在一个单独的线,并关闭If...End If.

请尝试以下代码:

If InStr(1, strg, Delim & ws2.Range("G" & i).Value & Delim, vbTextCompare) Then
    ws2.Range("G" & i).EntireRow.Delete
    i = i - 1
End If
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下命令删除整行:

ws2.Rows(i).Delete
Run Code Online (Sandbox Code Playgroud)