2016-07-28 85 views
0

所有,如果声明的情况

我有,我想退出子如果(“摘要”)的情形。范围(“C17”)。文字=“是”,要么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 
+0

'如果工作表(“摘要”)范围(“C17”)文本=“Yes”和RBL <> 0或CBL <> 0然后' –

回答

0

正确的语法(和条件):

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

如果RBL或CBL的**不**等于0,他希望退出代码,所以我gue ss你的意思是如果工作表(“摘要”)。范围(“C17”)。文本=“是”和(RBL <> 0或CBL <> 0)' –

+1

这是他写的(我自己突出) :“我想退出sub if(”Summary“)。Range(”C17“).Text =”Yes“并且CBL或RBL **不等于零**” –

0

您需要评估各种条件,所以这不起作用:

RBL Or CBL <> 0 

这是因为你只评估CBL。为了评价,无论是RBL也不CBL等于0,则需要单独检查他们,就像这样:

RBL <> 0 OR CBL <> 0  

既然你要评估上述的条件之一是TRUE而且还Worksheets("Summary").Range("C17").Text = "Yes"你需要附上代码插入括号的第二部分,所以以下将如预期:。

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

谢谢你是对的 – 2016-07-28 17:27:32