2017-08-25 26 views
0

私は現在以下のコードを実行しています。VBAでif ... unless文を使用する方法はありますか?

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 

今私は最後のIfの後に行を入れたいと思っています。それは本質的に「列6に単語「F-003」がなければ」と言います。それが意味をなさないのであれば、私は「F-003」と言わない限り、「セーフ」を含む行を省略しようとしています。これを行う方法はありますか?

+0

ありませんが、あなたは簡単にうまく構築 'AND'と' OR' – braX

+0

を使用することによって、これを達成することができ、私は「ない場合」としてのとやのを使用して、「あれば」結合することはできますか? – Harry

+0

はい、また、カッコを使用することもできます。if((x = 0またはx = 1)および(y = 2およびz = 4))またはc = 1 then' .... – braX

答えて

0

「等しくない」(<>)演算子が必要なようです。あなたのSafe、safe if条件に1つ以上の条件を追加してください。

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でブール条件を作成できます。何かを簡単にする。このように:

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 

実行可能なものがあるまで編集します。

関連する問題