Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro: Zeile löschen wenn bestimmte Zelle leer

Makro: Zeile löschen wenn bestimmte Zelle leer
24.10.2006 15:47:31
Birger
Hallo Zusammen,
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
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro: Zeile löschen wenn bestimmte Zelle leer
24.10.2006 15:55:08
Rudi
Hallo,

Sub tt()
Range("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Gruß
Rudi
AW: Makro: Zeile löschen wenn bestimmte Zelle leer
Birger
Hallo Rudi,
vielen Dank funktioniert Super. Aber was muss ich machen, wenn ich in dieser SPalte alle Zeilen löschen will, die in der Zelle eine bestimmte Zahl enthalten? Habs mit dem Makrorekorder probiert, funktioniert aber nicht.
Wäre schon wenn Du mir nochmal helfen könntest.
Gruß Birger
Anzeige
AW: Makro: Zeile löschen wenn bestimmte Zelle leer
25.10.2006 23:41:56
Rudi
Hallo,

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

Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Makro zum Löschen von Zeilen, wenn eine bestimmte Zelle leer ist


Schritt-für-Schritt-Anleitung

Um ein Makro in Excel zu erstellen, das Zeilen löscht, wenn eine bestimmte Zelle leer ist, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub ZeilenLoeschenWennLeer()
       Range("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. 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.


Häufige Fehler und Lösungen

  • 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

Alternative Methoden

Wenn du kein Makro verwenden möchtest, kannst du auch die Filterfunktion von Excel nutzen:

  1. Wähle die Spalte C aus.
  2. Gehe zu Daten > Filter.
  3. Klicke auf den Dropdown-Pfeil in Spalte C und wähle „Leere“.
  4. Markiere die gefilterten Zeilen, klicke mit der rechten Maustaste und wähle „Zeilen löschen“.

So kannst du ebenfalls alle Zeilen löschen, wenn die Zelle leer ist.


Praktische Beispiele

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.


Tipps für Profis

  • 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.


FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige