HERBERS Excel-Forum - das Archiv
Zeilen löschen VBA
Fritz_W

Hallo Forumsbesucher,
ich möchte im aktiven Tabellenblatt alle Zeilen löschen, in denen in der Spalte I entweder der Text "gesamt" oder "Summe" steht.
Für Eure Unterstützung danke ich im Voraus.
mfg
Fritz

Autofilter
RPP63

Hallo!
Filtere Spalte I nacheinander nach den Begriffen und lösche die sichtbaren Zeilen.
Die "weggefilterten" Zeilen bleiben erhalten.
Gruß Ralf

AW: Autofilter
Fritz_W

Hallo Ralf,
vielen Dank für den Tipp.
Damit komm ich prima klar.
Gruß
Fritz

VBA
RPP63

Ergänzend:
Zeichne dies mal mit dem Makrorekorder auf, dann hast Du Dein VBA.
(Wenn Du es dynamisch brauchst, dann stelle den aufgezeichneten Code mal hier ein)
Gruß Ralf

AW: Zeilen löschen VBA
Gerd


Sub A()
With ActiveSheet
.UsedRange.AutoFilter
.UsedRange.AutoFilter field:=9, Criteria1:="Summe", Operator:=xlOr, Criteria2:="gesamt"
Intersect(.Range("2:" & Rows.Count), .AutoFilter.Range.SpecialCells(xlCellTypeVisible)). _
EntireRow.Delete
.UsedRange.AutoFilter
End With
End Sub
Hallo Fritz!
Daten ab Zeile2, Spalte A - mind. I sind vorhanden
Den Bereich (UsedRange) kannst du anpassen.
Gruß Gerd

AW: Zeilen löschen VBA
Fritz_W

Hallo Gerd,
super die VBA-Variante, vielen Dank.
Gruß
Fritz

AW: Zeilen löschen VBA
Daniel

Hi
mit der seit Excel 2007 verfügbaren Standardmethode zum schnellen Löschen von Zeilen mit Bediungung:
1. markiere in einer Hilfsspalte per Formel alle Zeilen, die gelöscht werden sollen mit 0 und die die stehen bleiben müsssen mit der aktuellen zeilennummer:
=Wenn(Oder(I1="gesamt";I1="Summe");0;Zeile())
2. schreibe in die erste Zeile der Hilfsspalte (Überschrift) ebenfalls die 0
3. Wende auf die Tabelle die Funktion DATEN - DATENTOOLS - DUPLIAKTE ENTFERNEN an, mit der Hilfsspalte als Kriterium und der Option "keine Überschrift"
4. lösche die Hilfsspalte
geht natürlich auch als Makro:

With ActiveSheet.Usedrange
With .columns(.Columns.count + 1)
.formulaR1C1 = "=IF(OR(RC9=""gesamt"",RC9=""Summe""),0,Row())"
.Cells(1, 1).value = 0
.EntireRow.RemoveDuplicates .column, xlno
.ClearContents
End with
End With

Gruß Daniel

AW: Zeilen löschen VBA
Fritz_W

Hallo Daniel,
prima Umsetzung,
vielen Dank für deine Vorschläge.
Gruß
Fritz

Zeilen löschen VBA
Fritz_W

Hallo Forumsbesucher,
ich möchte im aktiven Tabellenblatt alle Zeilen löschen, in denen in der Spalte I entweder der Text "gesamt" oder "Summe" steht.
Für Eure Unterstützung danke ich im Voraus.
mfg
Fritz

Autofilter
RPP63

Hallo!
Filtere Spalte I nacheinander nach den Begriffen und lösche die sichtbaren Zeilen.
Die "weggefilterten" Zeilen bleiben erhalten.
Gruß Ralf

AW: Autofilter
Fritz_W

Hallo Ralf,
vielen Dank für den Tipp.
Damit komm ich prima klar.
Gruß
Fritz

VBA
RPP63

Ergänzend:
Zeichne dies mal mit dem Makrorekorder auf, dann hast Du Dein VBA.
(Wenn Du es dynamisch brauchst, dann stelle den aufgezeichneten Code mal hier ein)
Gruß Ralf

AW: Zeilen löschen VBA
Gerd


Sub A()
With ActiveSheet
.UsedRange.AutoFilter
.UsedRange.AutoFilter field:=9, Criteria1:="Summe", Operator:=xlOr, Criteria2:="gesamt"
Intersect(.Range("2:" & Rows.Count), .AutoFilter.Range.SpecialCells(xlCellTypeVisible)). _
EntireRow.Delete
.UsedRange.AutoFilter
End With
End Sub
Hallo Fritz!
Daten ab Zeile2, Spalte A - mind. I sind vorhanden
Den Bereich (UsedRange) kannst du anpassen.
Gruß Gerd

AW: Zeilen löschen VBA
Fritz_W

Hallo Gerd,
super die VBA-Variante, vielen Dank.
Gruß
Fritz

AW: Zeilen löschen VBA
Daniel

Hi
mit der seit Excel 2007 verfügbaren Standardmethode zum schnellen Löschen von Zeilen mit Bediungung:
1. markiere in einer Hilfsspalte per Formel alle Zeilen, die gelöscht werden sollen mit 0 und die die stehen bleiben müsssen mit der aktuellen zeilennummer:
=Wenn(Oder(I1="gesamt";I1="Summe");0;Zeile())
2. schreibe in die erste Zeile der Hilfsspalte (Überschrift) ebenfalls die 0
3. Wende auf die Tabelle die Funktion DATEN - DATENTOOLS - DUPLIAKTE ENTFERNEN an, mit der Hilfsspalte als Kriterium und der Option "keine Überschrift"
4. lösche die Hilfsspalte
geht natürlich auch als Makro:

With ActiveSheet.Usedrange
With .columns(.Columns.count + 1)
.formulaR1C1 = "=IF(OR(RC9=""gesamt"",RC9=""Summe""),0,Row())"
.Cells(1, 1).value = 0
.EntireRow.RemoveDuplicates .column, xlno
.ClearContents
End with
End With

Gruß Daniel

AW: Zeilen löschen VBA
Fritz_W

Hallo Daniel,
prima Umsetzung,
vielen Dank für deine Vorschläge.
Gruß
Fritz

Bewerten Sie hier bitte das Excel-Portal