有没有办法在VBA中使用if ... unless语句?

时间:2017-08-25 12:50:42

标签: excel vba excel-vba

我目前正在执行以下代码。

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”,然后包含它。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用if生成任何布尔条件。做一些简单的事。像这样:

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

然后编辑它直到你有可行的东西。

答案 1 :(得分: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