If...Then...Else 在 Then 之后有多个语句

Posted

技术标签:

【中文标题】If...Then...Else 在 Then 之后有多个语句【英文标题】:If...Then...Else with multiple statements after Then 【发布时间】:2013-03-05 18:30:45 【问题描述】:

一个非常简单的问题:考虑到 VBA 中的 If...Then...Else 指令,我如何在 Then 之后分隔多个指令?换句话说,我应该写类似

If condition [ Then ]    
   [ statement1 ] & [statement2] 
Else [Else statement] (i.e. using "&"),

If condition [ Then ]         
   [ statement1 ] And [statement2] 
Else [Else statement] (i.e. using "And"),

或其他一些分隔符/命令?

【问题讨论】:

这取决于你在做什么。 & 是字符串"a" & "b" 的连接器;并且是合乎逻辑的If a And b thenmsdn.microsoft.com/en-us/library/752y8abs(v=vs.80).aspx 【参考方案1】:

这适用于多个语句:

if condition1 Then stmt1:stmt2 Else if condition2 Then stmt3:stmt4 Else stmt5:stmt6

或者您可以将其拆分为多行:

if condition1 Then stmt1:stmt2
Else if condition2 Then stmt3:stmt4
Else stmt5:stmt6

【讨论】:

【参考方案2】:

多条语句用新行分隔:

If SkyIsBlue Then
  StartEngines
  Pollute
ElseIf SkyIsRed Then
  StopAttack
  Vent
ElseIf SkyIsYellow Then
  If Sunset Then
    Sleep
  ElseIf Sunrise or IsMorning Then
    Smoke
    GetCoffee
  Else
    Error
  End If
Else
  Joke
  Laugh
End If

【讨论】:

我不知道为什么,但它让我想起了战锤 40K :-) 再次感谢! 或者您可以将它们分开:例如。 StoppAttack : Vent

以上是关于If...Then...Else 在 Then 之后有多个语句的主要内容,如果未能解决你的问题,请参考以下文章

PLSQL:if then else语句段

SqlAlchemy:case 语句(case - if - then -else)

JSON Schema 是不是可以使用引用外部属性的 if/then/else

Pandas 使用 If/Then/Else 语句在循环中抛出错误

使用 IF ... THEN ... ELSE 在两个 SELECT 查询之间进行选择

mysql if--then--else --endif 问题