所以我有一些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
这完全有效,但是如果我添加一个额外的ElseIf条件,我会得到编译器错误" Else没有If"。在第五个条件下将ElseIf更改为Else并不能解决问题。我的问题是,我可以运行的ElseIf条件数量是否有限制?我确实只需要第五个完全按照我要做的事情完成。我很肯定条件中的代码没有错误。
答案 0 :(得分: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
答案 1 :(得分: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