Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige