限于其他条件?

所以我有一些VBA代码被devise成根据单元格中的值来做一些事情。 单元格中的值被读取并且代码相应地运行。 这工作没有问题。

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没有如果”的编译器错误。 如果在第五种情况下改变Else,则不能解决问题。 我的问题是,如果我可以运行的条件是否有限制? 我实际上只需要第五个就完全用我正在做的事情来完成。 我是积极的条件内的代码没有错误。

结束如果只在最后:

 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 

当然,你应该“升级”你的多个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