在VBScript中以多行拆分IF语句

时间:2014-02-03 10:15:36

标签: excel-vba vbscript vba excel

我想知道在VBScript中我是否可以在多行中打破If语句。像:

If (UCase(Trim(objSheet.Cells(i, a).Value)) = "YES") Or _
(UCase(Trim(objSheet.Cells(i, b).Value)) = "NO") Then

' Do something

End If

我尝试过此操作并遇到语法错误,因为If期望同一行Then中的:(

2 个答案:

答案 0 :(得分:7)

是的,您可以在vbscript中的多行中断IF语句。这是一个非常基本的例子

If 1 = 1 Or _
2 = 2 Then

wscript.echo "See, It Works :)"

End If

If (UCase(Trim("1")) = "1") Or _
(UCase(Trim("2")) = "2") Then

wscript.echo "See, It Works :)"

End If

错误发生在其他地方。检查工作簿对象及其值。另请检查iab的值。

答案 1 :(得分:3)

是,支持if语句中的换行符。

我在Excel / VBA中运行以下代码并作为单个vbscript运行,但它没有抛出错误。

Dim aStr
aStr = "yeah"

If (UCase(Trim(aStr)) = "YES") Or _
   (UCase(Trim(aStr)) = "NO") Then
  MsgBox "yes/no"
Else
  MsgBox "no action"
End If

或者它是objSheet的问题?您是否尝试为UCase(Trim(objSheet.Cells(i, a).Value)设置变量?它显示了预期的价值吗?