如果[VBA]后终止

时间:2014-01-11 22:05:13

标签: vba excel-vba if-statement terminate excel

无论如何都要在脚本完成之前终止。

例如:

Sub Macro1()

Range("A1").Select
If ActiveCell.Value Like "1" Then ActiveCell.Value = "0"
       ' Put some sort of termination of script here
If ActiveCell.Value Like "0" Then ActiveCell.Value = "1"

End Sub

如果[A1]确实包含“1”,则将其更改为“0”。但是,由于第二个if语句将“0”更改为“1”,这将首先恢复第一个语句的作用。

我要做的是在第一个语句后终止(如果它返回true)。如果不遵循第二个陈述......

我尝试过“Else”,但我似乎无法让它工作......

对不起我的天真,我对Visual Basic没有多少经验

编辑:我已根据建议使用ElseIf语句修复了它。

Sub Macro1()


Range("A1").Select

If ActiveCell.Value Like "1" Then
    ActiveCell.Value = "0"
ElseIf ActiveCell.Value Like "0" Then
    ActiveCell.Value = "1"
End If


End Sub

2 个答案:

答案 0 :(得分:2)

您可以使用Exit Sub提前停止,但它认为您想要的是:

If ActiveCell.Value Like "1" Then 
    ActiveCell.Value = "0"
ElseIf ActiveCell.Value Like "0" Then 
    ActiveCell.Value = "1"
End If

答案 1 :(得分:1)

您可以使用Exit Sub完全退出子。但是在你的例子中,也许不是第二个If语句,你可以使用Else If或Else?