Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Leere Zeile einfügen wirft Fehler 1004 -Autofilter

Leere Zeile einfügen wirft Fehler 1004 -Autofilter
09.02.2016 12:39:19
JJ
Hallo Zusammen,
ich versuche es nochmal etwas simpler.
Ich habe auf Zeilen gefiltert und will über diesen Zeilen jeweils eine Leerzeile einfügen:
Mein Code:
'Erste Zeile Autofilter aktivieren:
Rows("1:1").Select
Selection.AutoFilter
'Nun selektieren auf Spalte B "gelb" (jaja ich weiß grausam, aber SAP liefert nunmal diese Formatierung und dann nutze ich sie auch ;-)
ActiveSheet.Range(Cells(1, 1), Cells((ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row), ActiveSheet.Cells(1, Columns.Count).End(xlUp).Column)).AutoFilter Field:=2, Criteria1:=RGB(255, _
238, 9), Operator:=xlFilterCellColor
' ActiveSheet.Rows(C Range(Cells(1, 1), Cells((ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row), ActiveSheet.Cells(1, Columns.Count).End(xlUp).Column)).Select 'Rows("2:535")
'Nun selektiere ich alle Zeilen abhängig von der Größe der Tabelle
ActiveSheet.Range(Cells(2, 1), Cells((ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row), 1)).EntireRow.Select
'Nun sorge ich dafür, da gefiltert, dass nur die gefilterten Zeilen selektiert werden.
Selection.SpecialCells(xlCellTypeVisible).Select
'nun versuche ich Zeilen einzufügen und hier kommt der Fehler 1004.
Selection.Insert Shift:=xlDown
Ich habe das Makro schon auf diese Zeile begrenzt und alle Schritte vorher manuell gemacht. Trotzdem Fehler. Dann habe ich alles manuel gemacht, kein Fehler. Wenn ich das dann aufzeichne kommt der Code raus, nur halt mit festem Zellbezug, anstatt den ".counts".
Irgend jemand 'ne Idee. Ziel ist, dass ich über allen gelben Zeilen eine Leerzeile einfüge.
Danke im Voraus.
Gruß JJ

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Einfügenn in gefilterten Zeilen = Unsinn
09.02.2016 13:07:56
Daniel
Hi
ich verwende statt Zeilen-einfügen immer ein Zeilen-einsortieren.
das geht in der Regel auch wesentlich schneller.
probier mal folgendes:
1. Filter aufheben.
2. füge in einer Hilfsspalte am Tabellenende eine aufsteigende Zahlenfolge ein ,z.b.mit der Formel: =Zeile() oder 1 und 2 in die ersten beiden Zellen schreiben, beide markieren und nach unten ziehen.
3. jetzt nach gelb filtern.
4. in die gefilterten Zellen folgene Formel (sinngemäß) =Wert aus Hilfsspalte - 0,5
5. kopiere die Zahlen aus der zweiten Hilfsspalte und füge sie unterhalb der ersten hilfsppalte als Wert ein
6. sortiere die ganze Tabelle nach der erweiterten ersten Hilfsspalte
7. lösche die Hilfsspalte
als Makro sieht das ganze dann so aus :
Sub Makro1()
'--- Reihenfolge am Tabellenende einfügen
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1).Resize(, 2)
.Columns(1).FormulaR1C1 = "=Row()"
.Columns(2).FormulaR1C1 = "=Row()-.5"
.Formula = .Value
.Rows(1).Formula = "xxx"
End With
End With
'--- Reihenfolgenummern der gelben Zeilen kopieren und unten anfügen
With ActiveSheet.UsedRange
.AutoFilter Field:=2, Criteria1:=RGB(255, 238, 9), Operator:=xlFilterCellColor
.Columns(.Columns.Count).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants,  _
1).Copy
.Cells(.Rows.Count + 1, .Columns.Count - 1).PasteSpecial xlPasteValues
.AutoFilter
End With
'--- Leerzeilen einsortieren
With ActiveSheet.UsedRange
.Sort key1:=.Cells(1, .Columns.Count - 1), order1:=xlAscending, Header:=xlYes
.Columns(.Columns.Count - 1).Resize(, 2).ClearContents
End With
End Sub
Gruß Daniel

Anzeige
AW: Leere Zeile einsortieren = Wahnsinn
09.02.2016 13:34:53
JJ
Hallo Daniel,
dem geht! Danke. Reinkopiert und geht.
Ich habe mittlerweile auch jede Zeile verstanden ;-).
Und ich habe auch noch was gelernt, wie ich meinen restlichen Code deutlich kürzen kann O_o.
Danke und beste Grüße
JJ
;

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

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