Excel jede zweite Zeile löschen

Bild

Betrifft: Excel jede zweite Zeile löschen
von: Tobias
Geschrieben am: 04.11.2015 11:51:49

Hallo Leute,
ich habe eine Formel gefunden mit der ich nach Zeile 9 eine Leerzeile einfügen kann:

Dim i As Integer
Dim z As Integer
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 11 Step -1 'to 11 bedeutet nach Zeile 10 wird eingefügt
For z = 1 To 1
Cells(i, 1).EntireRow.Insert Shift:=xlDown
Next z
Next i
Application.ScreenUpdating = True
Wie kann ich diese Zeilen wieder löschen?
Hintergrund: ich füge diese Zeilen ein, füge dann in jede Zeile eine SVERWEIS ein und kontrolliere die obere Zeile ob sich etwas verändert hat oder nicht, dann ändere ich entsprechen die Zeilen um (auf neusten Stand) und dann möchte ich diese "Hilfszeilen" wieder löschen.
Danke vorab !
Viele Grüße aus Frankfurt,
Tobias

Bild

Betrifft: AW: Excel jede zweite Zeile löschen
von: matthias
Geschrieben am: 05.11.2015 10:50:56
Hallo Tobias,
probiers mal mit:

Range(Cells(10, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Das erste Cells gibt dabei die Startzeile (hier 10) an.
lg Matthias

Bild

Betrifft: AW: Excel jede zweite Zeile löschen
von: daniel
Geschrieben am: 05.11.2015 11:03:04
Hi
mal ne Frage: warum fügst du nicht einfach eine Spalte ein, schreibst dort die SVerweisFunktion hinein und überprüfst mit ihr dann nicht die obere, sondern die daneben liegende Zelle.
dann reicht es, wenn du die Spalten löschst, und hätte auch so noch ein paar Vorteile, weil du die Formeln einfacher einfügen kannst und ggf Veränderungen nicht suchen, sondern mit dem Autofilter filtern kannst.
ansonsten wäre zum löschen jeder zweiten Zeile folgendes möglich:
1. schreibe in eine Hifsspalte am Tabellenende die Formel =Rest(Zeile();2)
in den Zellen steht dann abwechselnd 1 oder 0
2. filtere dann nach 1 oder 0 (jenachdem, ob du die geraden oder ungeraden Zeilen löschen musst) und lösche diese Zeilen
wenn man davon ausgeht, dass in den Zeilen die du löschen willst eine Formel steht und in denen, die stehen blebeiben sollen Festwerte, dann könntest du auch so vorgehen:
1. eine Spalte welche die Formel enthält markieren
2. die Selektion auf Zellen mit Formel einschränken, das geht über START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE - FORMELN - ALLE HÄKCHEN
3. dann diese Zellen mit der Option "Ganze Zeile" löschen
das geht dann auch per VBA:

Columns(1).SpecialCells(xlcelltypeformulas, 23).EntireRow.Delete
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel jede zweite Zeile löschen"