限制ElseIf条件?

Gin*_*dPK 1 excel vba if-statement excel-vba

所以我有一些VBA代码,旨在根据单元格中的值来完成一些事情.读取单元格中的值,然后相应地运行代码.这没有问题.

If Target.Value = "something" Then
End If
ElseIf Target.Value = "something2" Then
End If
ElseIf Target.Value = "something3" Then
End If
ElseIf Target.Value = "something4" Then
End If
Run Code Online (Sandbox Code Playgroud)

这完全有效,但是如果我添加一个额外的ElseIf条件,我会得到编译器错误"Else without If".在第五个条件下将ElseIf更改为Else不能解决问题.我的问题是,我可以运行的ElseIf条件数量是否有限制?我确实只需要第五个完全按照我要做的事情完成.我很肯定条件中的代码没有错误.

Sco*_*ner 10

结束如果只到最后:

If Target.Value = "something" Then
    'Do something
ElseIf Target.Value = "something2" Then
    'Do something
ElseIf Target.Value = "something3" Then
    'Do something
ElseIf Target.Value = "something4" Then
    'Do something
End If
Run Code Online (Sandbox Code Playgroud)


Sha*_*ado 9

当然你应该"升级"你的倍数ElseIf并继续使用Select Case.

这将使您将来更容易实现更多场景.

Select Case Target.Value
    Case "something"
        ' code 1 here

    Case "something2"
        ' code 2 here

    Case "something3"
        ' code 3 here

    Case "something4"
        ' code 4 here

    Case "something5", "something6" ' <-- replaces using another If with And
        ' code 5 here

    ' Case ....

End Select
Run Code Online (Sandbox Code Playgroud)