2016-05-24 6 views
0

Ich versuche "Select Case" mit Schleifen in VBA auszuführen, aber es scheint, dass ich etwas falsch mache (jede Schleife funktioniert alleine, aber wenn ich versuche, sie zu verwenden zusammen bekomme ich "compile error".VBA - Laufen zwei Schleifen für gerade und unebene Linien

Was ich versuche zu erreichen, ist zu prüfen, ob eine Zeile und die Zeile nach dieser Zeile (und nur diese Zeile), hat einen bestimmten Status, der nicht korrekt ist (nicht haben den gleichen Status.)

dank

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 

Antwort

1

Sie brauchen nicht auf die zweite Schleife, ein Schleife macht es:

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

Funktioniert gut! Vielen Dank. –

Verwandte Themen