Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 具有多行的If语句_Vba_If Statement_Line Breaks - Fatal编程技术网

Vba 具有多行的If语句

Vba 具有多行的If语句,vba,if-statement,line-breaks,Vba,If Statement,Line Breaks,我有一个带有多个条件的if语句。我无法在一个窗口视图中看到所有这些。有没有办法把它们分开放在不同的行上,还是必须全部写在一行上?用一个分数不足的字母来打断它们 从上面链接 If ActiveSheet.ChartObjects(1).Chart.ChartTitle = _ ActiveSheet.Range("a2").Value Then MsgBox "They are equal." End If 我很确定您可以使用下划线来分隔行。VBA行连续字符是下划线\u if

我有一个带有多个条件的
if
语句。我无法在一个窗口视图中看到所有这些。有没有办法把它们分开放在不同的行上,还是必须全部写在一行上?

用一个分数不足的字母来打断它们

从上面链接

If ActiveSheet.ChartObjects(1).Chart.ChartTitle = _
      ActiveSheet.Range("a2").Value Then
   MsgBox "They are equal."
End If

我很确定您可以使用下划线来分隔行。

VBA行连续字符是下划线
\u

if ( _
    (something) _
    or (somethingelse) _
) 

您可以使用行连续字符
\uuu

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”语句中分解长的条件集

如果有太多的条件,我觉得阅读起来很困难,我会用布尔来表示这些条件。似乎有更多的代码,但我发现它更容易阅读

如果我有需要执行以下操作的场景:

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
当然,示例布尔变量已经定义,我将使用有意义的名称,而不是像blnCondition1这样的名称


再说一遍,这只是我的一个偏好。

试过了。。。但是没有起作用。然而,有一个答案是正确的。根据记忆,在哪里可以分线可能有点挑剔。@Yokhen,那么请结束你的问题。已经很忙了!我想我一定是唯一一个在一行上对所有内容都进行评分的人,即使有很多页宽,我只是发现很难按照打断的方式将行分开