Wie das umkehren einer For-Schleife

Ich habe ein problem mit meinem makro. Es löscht die Zeile, die tun, die bestimmte Kriterien erfüllen. Aber wenn mehrere aufeinander folgende Zeilen tun, diese Kriterien, tritt ein Fehler auf. Wenn die Zeile gelöscht wird, die anderen Zeilen werden nach oben verschoben, so, wenn also Zeile(2:2) und die Zeile(3:3) zu tun, der den Kriterien der Zeile(2:2) wird gelöscht, und die Zeile(3:3) ist nach oben verschoben, also es wird Zeile(2:2), und die For-Schleife geht zu einer anderen Zeile (die Dritte). Als eine Ergebnis-Zeile, die verwendet werden, um die Zeile(3:3) und nun ist die Zeile(2:2) weggelassen wird und nicht gelöscht werden.
Um sich mit diesem Thema beschäftigen, denke ich, dass es genug ist, um reverse, For-Schleife, so würde es nicht gehen von oben nach unten sondern von unten nach oben. Te resulat wäre doppelten überprüfung von einigen Zeilen, aber keine Zeilen ausgelassen werden.
Das proble ist, dass ich nicht weiß, wie revese die For-Schleife. Ich habe versucht, zu ändern 'Für x = startrow To endrow' , 'Für x = endrow Zu startrow', aber es hat nicht geholfen.
Hier ist der code:

Sub Repurchase_upload()

Dim Worksheet As Worksheets
startrow = Worksheets("GUTS").Cells(10, 1)
endrow = Worksheets("GUTS").Cells(11, 1)

 For x = startrow To endrow 'I have tried to change this line into: 'For x = endrow To startrow', but it didn' help
            If Cells(x, "A").Value <> "AA" And Cells(x, "A").Value <> "AB" And Cells(x, "A").Value <> "AC" And Cells(x, "A").Value <> "AD" And Cells(x, "A").Value <> "AE" And     Cells(x, "A").Value <> "AH" And Cells(x, "A").Value <> "AI" And Cells(x, "A").Value <> "AF" And Cells(x, "A").Value <> "AG" Then
            Cells(x, "A").EntireRow.Delete

            End If



    Next
End Sub  

Vielen herzlichen Dank im Voraus,
mit den besten GRÜßEN
Artur Rutkowski

InformationsquelleAutor Artur Rutkowski | 2013-07-30

Schreibe einen Kommentar