habe ein Problem, benötige ein Makro welches mir in der Spalte C die Zellen sucht in der keine Einträg vorhanden sind, wenn gefunden, soll er mir diese Zeilen löschen.
Danke im Voraus gruß Birger
Sub tt()
Range("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Sub tt()
dim i as long
for i =Range("c65536").end(xlup).row to 1 step -1
if cells(i,3)=1 then rows(i).delete
next i
End Sub
Um ein Makro in Excel zu erstellen, das Zeilen löscht, wenn eine bestimmte Zelle leer ist, folge diesen Schritten:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Klicke im Menü auf Einfügen
und dann auf Modul
, um ein neues Modul zu erstellen.
Kopiere den folgenden Code in das Modul:
Sub ZeilenLoeschenWennLeer()
Range("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Drücke ALT + F8
, wähle ZeilenLoeschenWennLeer
aus und klicke auf Ausführen
.
Nun werden alle Zeilen gelöscht, in denen die Zellen in Spalte C leer sind.
Fehler: „Laufzeitfehler 1004“
Ursache: Es gibt keine leeren Zellen in der angegebenen Spalte.
Lösung: Stelle sicher, dass in Spalte C tatsächlich leere Zellen vorhanden sind, bevor du das Makro ausführst.
Problem: Makro funktioniert nicht bei bestimmten Zahlen
Wenn du alle Zeilen löschen möchtest, die eine bestimmte Zahl enthalten, kannst du den folgenden angepassten Code verwenden:
Sub ZeilenLoeschenWennZahl()
Dim i As Long
For i = Range("C65536").End(xlUp).Row To 1 Step -1
If Cells(i, 3) = 1 Then Rows(i).Delete
Next i
End Sub
Wenn du kein Makro verwenden möchtest, kannst du auch die Filterfunktion von Excel nutzen:
Daten
> Filter
.So kannst du ebenfalls alle Zeilen löschen, wenn die Zelle leer ist.
Wenn du beispielsweise alle Zeilen löschen möchtest, die in Spalte C eine 1 enthalten, kannst du den folgenden Code verwenden:
Sub ZeilenLoeschenWennZahl()
Dim i As Long
For i = Range("C65536").End(xlUp).Row To 1 Step -1
If Cells(i, 3) = 1 Then Rows(i).Delete
Next i
End Sub
Hierbei wird in der Schleife jede Zeile überprüft. Wenn der Wert in Spalte C gleich 1 ist, wird die gesamte Zeile gelöscht.
Nutze Option Explicit
am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
Füge eine Fehlermeldung hinzu, um den Benutzer zu informieren, wenn keine leeren Zellen gefunden wurden:
If Application.WorksheetFunction.CountBlank(Range("C:C")) = 0 Then
MsgBox "Keine leeren Zellen gefunden!"
End If
Experimentiere mit dem Code, um spezifischere Bedingungen zu setzen, z.B. das Löschen von Zeilen basierend auf anderen Kriterien.
1. Kann ich das Makro für andere Spalten verwenden?
Ja, du kannst die Spalte im Code ändern, z. B. von C:C
zu D:D
, um die Zellen in Spalte D zu überprüfen.
2. Was passiert, wenn ich das Makro mehrmals ausführe?
Wenn du das Makro mehrmals ausführst, werden die bereits gelöschten Zeilen nicht erneut gelöscht, da sie nicht mehr vorhanden sind.
3. Ist das Löschen von Zeilen rückgängig machbar?
Ja, wenn du das Makro ausführst und versehentlich Zeilen löschst, kannst du die Aktion durch Drücken von STRG + Z
rückgängig machen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen