【发布时间】:2012-01-08 09:11:35
【问题描述】:
我有一个带有多个条件的if 语句。我无法在单个窗口视图中看到它们。有没有办法将它们分隔在不同的行中,还是必须全部写在一行中?
【问题讨论】:
-
我想我一定是唯一一个宁愿把所有内容都放在一行中的人,即使是很多页,我只是觉得很难按照被插入到单独的行中来
标签: vba if-statement line-breaks
我有一个带有多个条件的if 语句。我无法在单个窗口视图中看到它们。有没有办法将它们分隔在不同的行中,还是必须全部写在一行中?
【问题讨论】:
标签: vba if-statement line-breaks
VBA 换行符是一个下划线_
if ( _
(something) _
or (somethingelse) _
)
【讨论】:
可以使用续行符_
这些都是一样的:
If Something Or SomethingElse Or AnotherThing Then
If Something Or SomethingElse _
Or AnotherThing Then
If Something Or _
SomethingElse Or _
AnotherThing Then
【讨论】:
与上述类似,您可以使用下划线将长长的一组条件分解为一个“IF”语句。
如果条件太多并且我觉得难以阅读,我会使用 BOOLEANS 来表示条件。好像代码比较多,但我觉得更容易阅读。
如果我有需要执行以下操作的场景:
IF (X = something1) OR (X = something2) OR (X = something2) OR (X = something2) OR (X = something2) OR (X = something2) OR (X = something2) OR (X = something2) THEN
END IF
我可以这样做:
IF _
(X = something1) _
OR (X = something2) _
OR (X = something3) _
OR (X = something4) _
OR (X = something5) _
OR (X = something6) _
OR (X = something7) _
OR (X = something8) _
THEN
END IF
...或者我可以这样做...
blnCondition1 = (X = something1)
blnCondition2 = (X = something2)
blnCondition3 = (X = something3)
blnCondition4 = (X = something4)
blnCondition5 = (X = something5)
blnCondition6 = (X = something6)
blnCondition7 = (X = something7)
blnCondition8 = (X = something8)
IF blnCondition1 OR blnCondition2 OR blnCondition3 OR blnCondition4 OR blnCondition5 OR blnCondition6 OR blnCondition7 OR blnCondition8 THEN
END IF
当然,示例 BOOLEAN 变量已定义,我将使用有意义的名称代替 blnCondition1 之类的名称。
同样,这只是我的偏好。
【讨论】:
用低分 _ 打破它们?
以上链接
If ActiveSheet.ChartObjects(1).Chart.ChartTitle = _
ActiveSheet.Range("a2").Value Then
MsgBox "They are equal."
End If
【讨论】:
我很确定您可以使用下划线 _ 来分隔行。
【讨论】: