2017-08-25 78 views
0

我有以下代码正在执行。有没有办法让VBA中有if ... except语句?

For j = 2 To 82 Step 8 
    For i = 3 To 70 

     y = j + 1 
     k = j + 5 

    If Not IsError(Worksheets("Master PEC").Cells(i, j)) Then 

    If Not Worksheets("Master PEC").Cells(i, j + 2) = "Safe" Or 
      Worksheets("Master PEC").Cells(i, j + 2) = "safe" Then 
blahblahblah 

现在我想要在我的最后一行之后如果不是基本上说“除非列6有单词'F-003'”。如果这没有意义:我试图省略包含“安全”的任何行,除非他们也说“F-003”,然后包括它。有没有办法做到这一点?

+0

没有,但你可以很容易地通过构建良好的'和'而做到这一点'或' – braX

+0

我可以结合了“如果没有”和“如果”使用和的和或的? – Harry

+0

是的,你也可以使用圆括号...... if((x = 0或x = 1)和(y = 2和z = 4))或c = 1 then .... – braX

回答

0

看起来您只需要“不等于”(<>)运算符。为你的安全添加一个条件,如果条件安全。

For j = 2 To 82 Step 8 
    For i = 3 To 70 

     y = j + 1 
     k = j + 5 

    If Not IsError(Worksheets("Master PEC").Cells(i, j)) Then 


    If Not Worksheets("Master PEC").Cells(i, j + 2) = "Safe" Or 
      Worksheets("Master PEC").Cells(i, j + 2) = "safe" And 
      Worksheets("Master PEC").Cells(i, 6) <> "F-003" Then 
blahblahblah 
0

您可以使用if s作出任何布尔条件。简单一些。像这样:

Option Explicit 

Public Sub TestMe() 

    If 1 = 2 Then 
     Debug.Print "1 = 2" 
    ElseIf 2 = 4 Then 
     Debug.Print "2 = 4" 
    ElseIf Not 2 = 5 Then 
     Debug.Print "Not 2 = 5" 
    End If 

End Sub 

然后编辑它,直到你有一些可行的。

相关问题