Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen löschen wenn in Spalte A der Wert 0 ist

Zeilen löschen wenn in Spalte A der Wert 0 ist
01.02.2008 17:12:00
Martin
Hallo Leute!
Ich hab schon das nächste Problem...
Ich habe eine Tabelle. In dieser stehen verschiedenste Zahlenwerte. Ich möchte nun mittels einem Makro die ganze Zeile löschen , wenn in Spalte A der der Wert 0 steht.
Wie kann ich das realisieren?
Danke schon mal im Vorraus.
lg
Martin

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen wenn in Spalte A der Wert 0 ist
01.02.2008 17:24:28
Beverly
Hi Martin,
versuche es so:

Sub zeilen_loeschen()
Dim RaZeile As Range, loZeile As Integer
Dim raZelle As Range
Set raZelle = Columns(1).Find(what:=0, LookAt:=xlWhole)
If raZelle Is Nothing Then Exit Sub
loZeile = 0
Do While raZelle.Row > loZeile
loZeile = raZelle.Row
If Not RaZeile Is Nothing Then
Set RaZeile = Union(RaZeile, Rows(raZelle.Row))
Else
Set RaZeile = Rows(raZelle.Row)
End If
Set raZelle = Columns(1).FindNext(raZelle)
Loop
RaZeile.Delete
Set RaZeile = Nothing
End Sub




Anzeige
AW: Zeilen löschen wenn in Spalte A der Wert 0 ist
01.02.2008 19:48:20
Daniel
Hi
ich finde zum Löschen diesen Code optimal:
Sub Löschen2()

Columns(1).Insert
With Range("A1:A" & Cells(65536, 2).End(xlUp).Row)
.FormulaR1C1 = "=if(RC2=0,true,row())"
.Formula = .Value
.CurrentRegion.Sort key1:=Cells(1, 1), order1:=xlAscending, header:=xlNo
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
.EntireColumn.Delete
End With
End Sub


Ist wenig Code, läuft superschnell und funktioniert auch mit sehr grossen Tabellen (auch bei 60.000 Zeilen) in der gleichen geschwindigkeit
Gruß, Daniel

Anzeige
AW: Zeilen löschen wenn in Spalte A der Wert 0 ist
01.02.2008 20:25:05
Martin
Danke euch zweien!
Beide Lösungen funktionieren Perfekt!!! Genau das hab ich gebraucht!
Vielen Dank für eure Hilfe
lg
Martin

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilen löschen in Excel, wenn der Wert 0 ist


Schritt-für-Schritt-Anleitung

Um Excel-Zeilen mit 0 zu löschen, kannst Du ein Makro verwenden. Hier ist eine einfache Anleitung, wie Du dies umsetzen kannst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
Sub zeilen_loeschen()
    Dim RaZeile As Range, loZeile As Integer
    Dim raZelle As Range
    Set raZelle = Columns(1).Find(what:=0, LookAt:=xlWhole)
    If raZelle Is Nothing Then Exit Sub
    loZeile = 0
    Do While raZelle.Row > loZeile
        loZeile = raZelle.Row
        If Not RaZeile Is Nothing Then
            Set RaZeile = Union(RaZeile, Rows(raZelle.Row))
        Else
            Set RaZeile = Rows(raZelle.Row)
        End If
        Set raZelle = Columns(1).FindNext(raZelle)
    Loop
    RaZeile.Delete
    Set RaZeile = Nothing
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle zeilen_loeschen aus und klicke auf Ausführen.

Damit werden alle Zeilen gelöscht, in denen in Spalte A der Wert 0 steht.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"

    • Lösung: Stelle sicher, dass Du in der richtigen Tabelle arbeitest und dass in Spalte A tatsächlich Werte vorhanden sind.
  • Fehler: Das Makro löscht nicht alle Zeilen

    • Lösung: Überprüfe, ob Du das Makro mehrmals hintereinander ausführst, da es nur die Zeilen löscht, die beim ersten Durchlauf gefunden werden.

Alternative Methoden

Wenn Du alle 0-Werte in Excel löschen möchtest, gibt es auch andere Methoden:

  1. Filterfunktion:

    • Wähle die Tabelle aus und gehe zu Daten > Filter.
    • Setze einen Filter für Spalte A und wähle nur die Zeilen mit dem Wert 0 aus.
    • Lösche die gefilterten Zeilen.
  2. Bedingte Formatierung:

    • Markiere die Spalte A, gehe zu Start > Bedingte Formatierung > Regeln verwalten.
    • Erstelle eine Regel, die Zellen mit dem Wert 0 hervorhebt. Nach dem Hervorheben kannst Du diese Zeilen manuell löschen.

Praktische Beispiele

Angenommen, Du hast eine Tabelle mit folgenden Werten in Spalte A:

1
0
3
0
5

Nach dem Ausführen des Makros werden die Zeilen mit den Werten 0 gelöscht, und das Ergebnis ist:

1
3
5

Diese Methode ist besonders nützlich, wenn Du häufig Excel-Zellen mit 0 löschen musst.


Tipps für Profis

  • Verwende die "Undo"-Funktion: Falls Du versehentlich die falschen Zeilen gelöscht hast, kannst Du die Änderungen mit STRG + Z rückgängig machen.
  • Makro anpassen: Du kannst das Makro anpassen, um nicht nur Zeilen mit 0, sondern auch andere spezifische Werte zu löschen, indem Du what:=0 entsprechend änderst.
  • Regelmäßige Backups: Mache regelmäßig Backups Deiner Excel-Dateien, bevor Du massenhaft Daten löscht.

FAQ: Häufige Fragen

1. Wie kann ich alle Zeilen mit 0 in mehreren Spalten löschen? Du kannst das Makro anpassen, um mehrere Spalten zu durchsuchen und die Zeilen zu löschen, wenn in einer der Spalten der Wert 0 steht.

2. Gibt es eine Möglichkeit, diese Aufgabe ohne VBA zu erledigen? Ja, Du kannst die Filterfunktion verwenden, um die Zeilen mit 0 zu finden und diese dann manuell zu löschen. Eine weitere Möglichkeit ist die Verwendung der bedingten Formatierung.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige