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

时间:2017-06-28 08:44:43

标签: vba excel-vba excel

我的部分代码如下:

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

没有And-Part,代码运行良好。 我因i=i-1而收到错误。如果条件为true,我该怎么说呢AND那个?

1 个答案:

答案 0 :(得分: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

您也可以使用以下方法删除整行:

ws2.Rows(i).Delete