如果声明方案

时间:2016-07-28 16:05:16

标签: vba excel-vba if-statement excel

全部,

我有一个场景,我想退出sub if(" Summary")。Range(" C17")。Text =" Yes" CBL或RBL不等于​​零。我认为下面的代码可以工作但是如果CBL = 0且RBL = 100,代码将不会退出sub。

 Dim CBL As Long
 CBL = Worksheets("Summary").Cells(97, Yearcol).Value
 Dim RBL As Long
 RBL = Worksheets("Summary").Cells(101, Yearcol).Value

'Check if prestage two projects
    If Worksheets("Summary").Range("C17").Text = "Yes" And RBL Or CBL <> 0  Then

2 个答案:

答案 0 :(得分:0)

正确的语法(和条件)是:

If Worksheets("Summary").Range("C17").Text = "Yes" And (RBL <> 0 Or CBL <> 0)  Then
    Exit Sub
End If

答案 1 :(得分:0)

您需要评估每个条件,因此这不起作用:

RBL Or CBL <> 0

这是因为您只评估CBL。为了评估RBLCBL都不等于0,您需要单独检查它们,如下所示:

RBL <> 0 OR CBL <> 0    

由于您要评估上述条件之一是TRUE,还要评估Worksheets("Summary").Range("C17").Text = "Yes",您需要将代码的第二部分括在括号中,因此以下内容将按预期工作:< / p>

If Worksheets("Summary").Range("C17").Text = "Yes" And (RBL <> 0 Or CBL <> 0)  Then
    Exit Sub
End If