我有一个包含多个条件的if
语句。我无法在一个窗口视图中看到它们。有没有办法在不同的行上分隔它们,还是必须将它们全部写在一行?
答案 0 :(得分:48)
VBA续行字符是下划线_
if ( _
(something) _
or (somethingelse) _
)
答案 1 :(得分:11)
您可以使用续行符_
这些都是一样的:
If Something Or SomethingElse Or AnotherThing Then
If Something Or SomethingElse _
Or AnotherThing Then
If Something Or _
SomethingElse Or _
AnotherThing Then
答案 2 :(得分:2)
如上所述,您可以在一个" 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这样的名称,我会使用有意义的名称。
同样,这只是我的偏好。
答案 3 :(得分:1)
以低于分数_?
打破他们来自上面的链接
If ActiveSheet.ChartObjects(1).Chart.ChartTitle = _
ActiveSheet.Range("a2").Value Then
MsgBox "They are equal."
End If
答案 4 :(得分:0)
我非常确定你可以使用下划线_
来分隔线。