Hallo Leute,
ich möchte dass das sub Zellen nach bestimmten Kriterien durchsucht und bei Erfüllung dieser die komplette Zeile gelöscht wird.
Nach dem Löschen der Zeile springen die darunter liegenden Zellen um eine Zeile nach oben, dh. ich muss meinen Index anpassen, sonst wird die Zelle die an die Stelle der gelöschten Zeile springt nicht untersucht. Ich habe es mit "i = i -1" versucht, da bekomme ich leider eine endlosschleife raus.
Ist mein erster VBA-Versuch also Feedback immer gerne willkommen!
Danke für eure Hilfe!
Gruß,
zscherepacha
Hier der Code:
Sub FilterSA()
Dim iStartzeile As Integer
Dim dblAnzSA As Double
Dim i As Integer
iStartzeile = 2
dblAnzSA = WorksheetFunction.CountA(Columns(1)) - 1
Debug.Print dblAnzSA
For i = iStartzeile To dblAnzSA + iStartzeile - 1 Step 1
If Cells(i, 1) Like "08*" Or Cells(i, 1) Like "09*" Then
Debug.Print "Schleife:" & i
Debug.Print Cells(i, 1)
Rows(i).Delete
dblAnzSA = dblAnzSA - 1
Debug.Print dblAnzSA
i = i - 1
ElseIf Cells(i, 4) < 50 And Cells(i, 5) < 0.15 Then
Debug.Print "Schleife:" & i
Debug.Print Cells(i, 1)
Debug.Print Cells(i, 4) & " " & Cells(i, 5)
Rows(i).Delete
dblAnzSA = dblAnzSA - 1
Debug.Print dblAnzSA
i = i - 1
End If
Next
End Sub
|