Excel VBA Code, um Zeilen, die eine bestimmte Bedingung nicht erfüllen, zu löschen?
Hi, ich hab folgendes Problem:
Ich soll aus einer komplexen Excel Tabelle jene Zeilen löschen, die nicht zu den anderen passen bzw. eine bestimmte Bedingung nicht erfüllen. Um die riesige Liste nicht händisch durchsuchen zu müssen, suche ich nach einer Möglichkeit, die Datenbereinigung in Excel VBA umzusetzen.
Hier ein Beispiel, welches mein Problem etwas genauer beschreibt.
Zu jedem Beispiel in Spalte A gehören in Spalte B die sortierten Werte 1, 2 und 3. Sind einem Beispiel nur 1 oder 2 Werte zugewiesen (siehe Beispiel 3) oder enthält ein Beispiel falsche Werte (siehe Beispiel 5 - falscher Wert "4"), dann sollen diese Zeilen komplett gelöscht werden.
Am Ende sollen also nur mehr die Zeilen 1,2,3,4,5,6,9,10,11 übrig bleiben.
Kann mir da jemand helfen, wie ich diese Bedingung mit den 3 zugehörigen Werten in VBA umgesetzt bekomme?
1 Antwort
Bedingte Zeilenlöschung in VBA
Public Sub bedingte_Zeilenloeschung()
'** Ermittlung der letzten Zeile in Spalte A
lz = Cells(Rows.Count, 1).End(xlUp).Rows.Row
'** Durchlauf aller Zeilen
For t = lz To 1 Step -1 'Zählung rückwärts bis Zeile 1
'Abfragen, ob in der ersten Spalte der Buchstabe "x" steht
If Cells(t, 1).Value = "x" Then
Rows(t).Delete Shift:=xlUp
End If
Next t
End Sub
Abfrageausdruck (hier "x") entsprechend deiner Bedingung anpassen.
Den Code hab ich selber schon gefunden, aber der bringt leider nicht wirklich was, weil meine Bedingung nicht ganz so einfach ist