2016-05-24 26 views
0

VBAでループを使用して "case select"を実行しようとしていますが、何か間違っているようです一緒に私は "コンパイルエラー"を得ています。VBA - 偶数行と不均等行の2つのループを実行する

私が達成しようとしているのは、行とその行に続く行(およびその行のみ)が正しい状態でないかどうかを確認することです)と同じ状態である必要。

おかげ

Sub du() 


     With Worksheets("Sheet1") 

    Dim i, Status 
    Dim x, Status1 

    NumRows = cells(Rows.Count, "f").End(xlUp).Row 

    For i = 2 To NumRows Step 2 

    NumRows1 = cells(Rows.Count, "f").End(xlUp).Row 

    For x = 3 To NumRows1 Step 2 

    Status = cells(i, 8).Value 
    Status1 = cells(x, 8).Value 

    Select Case Status 
     Case "Pl", "In", "Sapt", "Recd" 
     Select Case Status1 
     Case "Pl", "In", "Sapt", "Recd" 
     cells(i, 52).Value = "dp" 




    End Select 
     End Select 
    Next i 
Next x 

End With 

End Sub 

答えて

1

あなたは第二のループを必要としない、1ループはそれを行います:

Sub du() 

Dim i, Status 
Dim x, Status1 
Dim t As String 

t = "Pl, In, Sapt, Recd" 
With Worksheets("Sheet1") 
    NumRows = .Cells(.Rows.Count, "f").End(xlUp).Row 
    For i = 2 To NumRows 
     If i Mod 2 = 0 Then 
      Status = Cells(i, 8).Value 
      Status1 = Cells(i + 1, 8).Value 
      If InStr(t, Status) And InStr(t, Status1) Then 
       Cells(i, 52).Value = "dp" 
      End If 
     End If 
    Next i 
End With 

End Sub 
+0

素晴らしいです!ありがとう。 –

関連する問題