excel - 级联 if 语句不起作用

标签 excel vba if-statement

我在代码的以下部分中收到编译错误“Else without If”。有什么问题以及如何解决它?

    If InStr(1, Worksheets("Raw data").Cells(i, 3), "1M") Then Call RowCopyPaste("AS-001", i, counter1M)
    counter1M = counter1M + 1

    ElseIf InStr(1, Worksheets("Raw data").Cells(i, 3), "2M") Then Call RowCopyPaste("AS-001", i, counter2M)
    counter2M = counter2M + 1

    ElseIf InStr(1, Worksheets("Raw data").Cells(i, 3), "3M") Then Call RowCopyPaste("AS-001", i, counter3M)
    counter3M = counter3M + 1

    End If

最佳答案

If 比较可以作为单个命令位于同一行,但不能像您正在执行的那样。您的每个条件两个命令应该类似于以下内容。

If InStr(1, Worksheets("Raw data").Cells(i, 3), "1M") Then
    Call RowCopyPaste("AS-001", i, counter1M)
    counter1M = counter1M + 1
ElseIf InStr(1, Worksheets("Raw data").Cells(i, 3), "2M") Then
    Call RowCopyPaste("AS-001", i, counter2M)
    counter2M = counter2M + 1
ElseIf InStr(1, Worksheets("Raw data").Cells(i, 3), "3M") Then
    Call RowCopyPaste("AS-001", i, counter3M)
    counter3M = counter3M + 1
End If

类似下面的内容可以单独存在,但不能与其他 ElseIf 命令一起存在。

If InStr(1, Worksheets("Raw data").Cells(i, 3), "1M") Then Call RowCopyPaste("AS-001", i, counter1M)

您可能想尝试将此作为 Select Case statement如果您还有更多条件需要涵盖。

关于excel - 级联 if 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34258316/

相关文章:

vba - 将范围设置为 "False"并根据值更改单元格的颜色

excel - 将输入整数写入单元格

excel - 在 VBA 循环中保存 excel 文件

android - 取消选中单选按钮

java - 编写一个程序,从键盘读取字符,直到读取换行符 '\n'

java - 如何为多个 if-else 语句编写函数

vba - 更改用户窗体中的选项按钮选择

vba - 选择 - ShapeRange 和图表问题

python - 将带有俄语字符的 numpy.ndarray 写入文件

vba - 随机迭代期间出现错误 91