Zeilen im ListView löschen: So geht's
Schritt-für-Schritt-Anleitung
Um Zeilen in einem ListView zu löschen, die im SubItem "NEIN" stehen, kannst Du den folgenden VBA-Code verwenden. Dieser Code durchläuft alle Einträge und entfernt die entsprechenden Zeilen.
- Öffne den Visual Basic for Applications (VBA)-Editor in Excel.
- Füge ein neues Modul hinzu.
- Kopiere den folgenden Code in das Modul:
Sub Löschen()
Dim y As Integer
For y = ListView1.ListItems.Count To 1 Step -1
If ListView1.ListItems(y).ListSubItems(9).Text = "NEIN" Then
ListView1.ListItems.Remove (ListView1.ListItems(y).Index)
End If
Next y
End Sub
- Schließe den VBA-Editor und führe die Subroutine aus.
Dieser Code sorgt dafür, dass alle Zeilen, in denen im SubItem 9 "NEIN" steht, aus dem ListView gelöscht werden.
Häufige Fehler und Lösungen
Alternative Methoden
Falls Du eine andere Methode ausprobieren möchtest, kannst Du auch den folgenden Code verwenden, der nur die Zeilen entfernt, die "NEIN" beinhalten, und eine Bestätigung ausgibt.
Sub Kopieren()
Dim i As Integer
i = 0
For y = 1 To ListView1.ListItems.Count
If ListView1.ListItems(y - i).ListSubItems(9).Text = "NEIN" Then
ListView1.ListItems.Remove (ListView1.ListItems(y - i).Index)
i = i + 1
End If
Next y
End Sub
Diese Methode nutzt einen Zähler, um die Anzahl der entfernten Items zu tracken.
Praktische Beispiele
- Beispiel 1: Löschen von Zeilen, die "NEIN" im 9. SubItem haben.
- Beispiel 2: Wenn Du spezifische Filterkriterien hast, passe die Bedingung im
If
-Statement entsprechend an.
If ListView1.ListItems(y).ListSubItems(9).Text = "DEAKTIVIERT" Then
ListView1.ListItems.Remove (ListView1.ListItems(y).Index)
End If
Diese Anpassung ermöglicht es Dir, auch andere Status zu berücksichtigen.
Tipps für Profis
- Verwende
Step -1
in der Schleife, um von hinten nach vorne zu iterieren. So verhinderst Du, dass der Index bei Löschvorgängen durcheinander gerät.
- Teste Deinen Code in einer sicheren Umgebung, um Datenverluste zu vermeiden.
- Nutze Debugging-Werkzeuge in VBA, um den Code Schritt für Schritt zu überprüfen.
FAQ: Häufige Fragen
1. Wie kann ich den Code anpassen, um mehrere SubItems zu prüfen?
Du kannst einfach weitere If
-Bedingungen in der Schleife hinzufügen, um mehrere SubItems zu berücksichtigen.
2. Funktioniert dieser Code in Excel 2016?
Ja, der Code ist mit Excel 2016 und späteren Versionen kompatibel, solange Du VBA verwenden kannst.