Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Jede zweite Zeile löschen

Jede zweite Zeile löschen
Daniel
Hallo!
Kann mir jemand ein Makro erstellen, bei dem in einer
Datei jede zweite Zelle (2,4,6,usw.) gelöscht wird?
Dafür wäre ich sehr dankbar.
Grüße
Daniel
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Jede zweite Zeile löschen
Josef
Hallo Daniel!
Zeilen oder Inhalt löschen?
Option Explicit

Sub JedeZweiteLoeschen()
Dim lngR As Long
For lngR = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
'If lngR Mod 2 = 0 Then Rows(lngR).Delete 'Zeile löschen
If lngR Mod 2 = 0 Then Rows(lngR).EntireRow.ClearContents 'Inhalt löschen
Next
End Sub

Gruß Sepp
Anzeige
AW: Jede zweite Zeile löschen
Daniel
Hallo!
Die ganze Zeile soll gelöscht werden.
Also einfach die erste IF... Zeile verwenden, oder?
Danke!
Daniel
Ja! o.T.
15.04.2004 20:30:12
Josef
Gruß Sepp
AW: Jede zweite Zeile löschen
FP
Hallo Daniel,
hier eine IMHO etwas schnellere Variante:
Public Sub DelRow2() Dim z As Long, z9 As Long z9 = Cells(1, 1).CurrentRegion.Rows.Count \ 2 + 1 z = 1 Application.ScreenUpdating = False Do z = z + 1 Rows(z).Delete Loop Until z = z9 Application.ScreenUpdating = True End Sub
Servus aus dem Salzkammergut
Franz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Jede zweite Zeile in Excel löschen


Schritt-für-Schritt-Anleitung

Um in Excel jede zweite Zeile zu löschen, kannst du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:

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

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere und füge folgenden Code in das Modul ein:

    Sub JedeZweiteZeileLoeschen()
       Dim lngR As Long
       For lngR = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
           If lngR Mod 2 = 0 Then Rows(lngR).Delete
       Next lngR
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle JedeZweiteZeileLoeschen aus und klicke auf Ausführen.

Damit werden alle geraden Zeilen (2, 4, 6 usw.) gelöscht.


Häufige Fehler und Lösungen

  • Fehler: Das Makro löscht nicht die gewünschten Zeilen.

    • Lösung: Stelle sicher, dass der Code korrekt eingegeben wurde und die Excel-Tabelle aktiv ist.
  • Fehler: Excel gibt eine Fehlermeldung aus.

    • Lösung: Überprüfe, ob du die richtigen Berechtigungen hast und dass das Makro aktiviert ist. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen, um die Makros zu aktivieren.

Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du auch Filter oder Power Query nutzen:

  1. Power Query:

    • Importiere deine Daten in Power Query.
    • Verwende die Option „Zeilen entfernen“ und wähle „Ungrade Zeilen entfernen“.
    • Lade die Daten zurück nach Excel.
  2. Manuelles Löschen:

    • Füge eine Hilfsspalte hinzu und nummeriere die Zeilen.
    • Filtere die ungeraden Zeilen und lösche sie manuell.

Praktische Beispiele

  • Beispiel 1: Um jede zweite Zeile in einem Bereich zu löschen, benutze den oben genannten VBA-Code.
  • Beispiel 2: Wenn du jede zweite Spalte löschen möchtest, kannst du den Code leicht anpassen:

    Sub JedeZweiteSpalteLoeschen()
       Dim lngC As Long
       For lngC = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
           If lngC Mod 2 = 0 Then Columns(lngC).Delete
       Next lngC
    End Sub

Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um die Ausführungsgeschwindigkeit des Makros zu erhöhen.
  • Speichere deine Datei regelmäßig, besonders bevor du ein Makro ausführst, um Datenverlust zu vermeiden.
  • Experimentiere mit Power Query, um komplexere Datenbereinigungen durchzuführen, wie z.B. das Löschen von Zeilen mit bestimmten Werten.

FAQ: Häufige Fragen

1. Wie kann ich nur jede 10. Zeile löschen?
Du kannst den Modulus in der If-Bedingung ändern: If lngR Mod 10 = 0 Then Rows(lngR).Delete.

2. Was passiert, wenn ich versehentlich das falsche Makro ausführe?
Wenn du versehentlich das falsche Makro ausgeführt hast, kannst du die Änderungen rückgängig machen, indem du STRG + Z drückst, solange du die Datei nicht gespeichert hast.

3. Kann ich auch jede dritte Zeile löschen?
Ja, ändere einfach den Modulus in der If-Bedingung zu 3: If lngR Mod 3 = 0 Then Rows(lngR).Delete.

4. Wie kann ich die gelöschten Zeilen wiederherstellen?
Falls du die Datei gespeichert hast, bevor du das Makro ausgeführt hast, kannst du die letzte nicht gespeicherte Version wiederherstellen, oder du kannst die Datei aus einer Sicherungskopie wiederherstellen.

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