Löschen jeder anderen Zeile in einem Excel-Arbeitsblatt

Zusammenfassung

Dieser Artikel enthält ein Microsoft Visual Basic for Applications-Beispielmakro, mit dem Sie jede andere Zeile in einem ausgewählten Bereich eines Microsoft Excel-Arbeitsblatts löschen können.

Weitere Informationen

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Microsoft Support-Spezialisten können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind. Um das folgende Makro zu verwenden, richten Sie eine Excel-Arbeitsmappe wie folgt ein:

  1. Erstellen Sie eine neue Microsoft Excel-Arbeitsmappe.

  2. Geben Sie in einem neuen Arbeitsblatt im Bereich A1:A9 die Zahlen 1 bis 5 ein, und überspringen Sie zeilen, wie im folgenden Beispiel gezeigt:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. Zeigen Sie im Menü „Extras“ auf „Makro“, und klicken Sie dann auf „Visual Basic-Editor“.

    Hinweis Klicken Sie in Microsoft Office Excel 2007 und höheren Versionen auf der Registerkarte Entwicklertools in der Gruppe Code auf Visual Basic.

  4. Klicken Sie im Menü „Einfügen“ auf „Modul“.

  5. Geben Sie im neuen Modul das folgende Makro ein:

Sub Delete_Every_Other_Row()

' Dimension variables.
   Y = False              ' Change this to True if you want to
                          ' delete rows 1, 3, 5, and so on.
   I = 1
   Set xRng = Selection

' Loop once for every row in the selection.
   For xCounter = 1 To xRng.Rows.Count

' If Y is True, then...
       If Y = True Then

' ...delete an entire row of cells.
           xRng.Cells(I).EntireRow.Delete

' Otherwise...
       Else

' ...increment I by one so we can cycle through range.
           I = I + 1

End If

' If Y is True, make it False; if Y is False, make it True.
       Y = Not Y

Next xCounter

End Sub
  1. Wechseln Sie zu dem Arbeitsblatt, das die Daten enthält, und wählen Sie dann den Bereich A1:A9 aus.

  2. Zeigen Sie zum Ausführen des Makros im Menü Extras auf Makro, und klicken Sie dann auf Makros.

    Hinweis

    • Klicken Sie in Excel 2007 und höheren Versionen auf der Registerkarte Entwicklertools in der Gruppe Code auf Makros.
    • Um die Registerkarte Entwickler im Menüband anzuzeigen, klicken Sie auf die Microsoft Office-Schaltfläche, klicken Sie auf Excel-Optionen, klicken Sie auf die Kategorie Beliebt, aktivieren Sie das Kontrollkästchen Registerkarte Entwickler im Menüband anzeigen , und klicken Sie dann auf OK.
  3. Wählen Sie das Makro Delete_Every_Other_Row aus, und klicken Sie dann auf Ausführen.

Dieses Makro löscht jede andere Zeile, beginnend mit der zweiten Zeile der Auswahl.

Hinweis

Wenn Sie über eine Liste mit Daten verfügen, die mehrere Spalten enthält, wählen Sie nur die erste Datenspalte aus, und führen Sie dann das Makro aus.