Leere Zeilen löschen - so einfach gehts
Inhalt
Einleitung
In diesem Beitrag zeige ich euch, wie ihr in Excel Zeilen löscht, die in einer bestimmten Spalte leere Zellen enthalten. Das ist besonders nützlich, wenn ihr mit großen Datensätzen arbeitet und leere Einträge entfernen wollt. Ich zeige euch sowohl einen VBA-Code, der euch maximale Flexibilität bietet, als auch, wie ihr das Problem Schritt für Schritt löst.
Anwendungsfall
Stellt euch vor, ihr habt eine Liste mit mehreren hundert Zeilen, und in einigen Zellen einer bestimmten Spalte fehlen Einträge. Diese leeren Zeilen wollt ihr nun effizient löschen, ohne mühsam jede Zeile einzeln zu prüfen. Klingt nach viel Arbeit? Nicht mit Excel VBA! So könnte euer Datensatz aussehen:Name | Abteilung | Position | Gehalt |
Max | IT | Entwickler | 50000 |
Lisa | Manager | 60000 | |
Robert | HR | 55000 | |
Julia | Vertrieb | Verkäufer | 45000 |
Marketing | Designer | 48000 |
Der flexible VBA-Ansatz
Mit diesem VBA-Code könnt ihr ganz flexibel entscheiden, in welcher Spalte ihr die leeren Zellen überprüfen möchtet. Der Code fragt euch nach der Spalte, in der die Leerzellen stehen, und löscht anschließend die gesamte Zeile, wenn in der ausgewählten Spalte eine leere Zelle gefunden wird. Der Code: [vba] Sub Zeile_Loeschen() Dim sTxt As String Dim letzteZeile As Integer letzteZeile = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row ‘”Input” -> Abfrage Welche Spalte zur Auswahl genommen werden soll sTxt = InputBox(“In Welcher Spalte sind die Leerzellen?”) If sTxt = “” Then Exit Sub ‘Leerzeichen durch nichts ersetzen Columns(sTxt & “:” & sTxt).Select Selection.Replace What:=” “, Replacement:=””, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2 ‘Löscht die Zeilen, wenn in Spalte “Input” nichts steht ActiveSheet.Range(sTxt & “2:” & sTxt & letzteZeile).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub [/vba]Erklärung des Codes
- Abfrage der Spalte: Mit
InputBox
wird die Spalte abgefragt, in der die Leerzellen überprüft werden sollen. - Entfernen von Leerzeichen: Der Code durchsucht die Spalte und ersetzt eventuelle Leerzeichen, sodass auch Zellen, die nur Leerzeichen enthalten, als leer betrachtet werden.
- Löschen der Zeilen: Der Code sucht nach leeren Zellen und löscht die gesamte Zeile, in der eine leere Zelle gefunden wird.
Vorteile
- Flexibilität: Ihr könnt jede beliebige Spalte auswählen, ohne den Code anpassen zu müssen.
- Zeitersparnis: Anstatt manuell nach leeren Zellen zu suchen, erledigt der Code das für euch in Sekundenschnelle.
Wann ist dieser Code nützlich?
- Wenn ihr regelmäßig große Tabellen bearbeitet, bei denen vereinzelt leere Einträge auftreten.
- Wenn ihr schnell und effizient leere Zeilen entfernen wollt, ohne jede Zeile manuell prüfen zu müssen.
Responses