Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen SCHNELL einfügen

Zeilen SCHNELL einfügen
TommiH
Hallöchen,
ich habe ein Zeitproblem, zumindest braucht Excel dafür extrem lange.
Ich habe ein Dateibearbeitungsscript welches eine Laufvariable (q) hat, immer wenn die Variable bei 100 200 300 400 usw. ist, sollen an der aktuellen Position 13 Leerzeilen eingefügt werden, da die Datei aber rund 130.000 Zeilen hat, dauert es schon sehr lange, wenn man es mit folgendem Codeschnipsel macht

For y = 1 To 13
Rows(q).Insert Shift:=xlDown
Rows(q).RowHeight = 35
Next y
Kann man das irgendwie (zeitlich) optimieren?
Tommi
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeilen SCHNELL einfügen
21.10.2011 10:27:34
Reinhard
Hallo Tommi,

Sub Zeilen()
Dim q As Long, T As Single
T = Timer
For q = 130000 To 100 Step -100
With Rows(q & ":" & q + 12)
.Insert
.Offset(-13, 0).RowHeight = 35
End With
Next q
MsgBox Timer - T
End Sub

Überprüf mal im Blatt das Ergebnis...
Gruß
Reinhard
Anzeige
AW: Zeilen SCHNELL einfügen
21.10.2011 13:01:51
Daniel
Hi
Zeilen einfügen ist sehr langsam
eine Optimierung wäre, wenn du die 13 Zeilen nicht per Schleife, sondern als Block einfügst:

Rows(q).Resize(13).Insert
allerdings ist das auch noch nicht Optimal.
am schnellsten ist in einer Hilfsspalte einen Zähler einzufügen und die Leerzeilen einzusortieren:

Sub LeerZeilenEinsortieren()
'--- fügt alle 100 Zeilen 13 Leerzeien ein
Dim i As Long
Dim Anz As Long
With ActiveSheet.UsedRange
With .Columns(.Columns.Count).Offset(0, 1)
.Cells(1, 1).Value = 1
.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
Anz = .Cells(.Rows.Count, 1).Value
For i = 1 To 13
With .Cells(1, 1).End(xlDown).Offset(1, 0)
.Value = 100
.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=100, Stop:=Anz
End With
Next
.CurrentRegion.Sort key1:=.Cells(1, 1), order1:=xlAscending, header:=xlNo
.EntireColumn.ClearContents
End With
End With
End Sub
Gruß Daniel
Anzeige
AW: Zeilen SCHNELL einfügen
25.10.2011 09:05:20
TommiH
Hallo Daniel,
die erste Variante hat eigentlich schon gereicht, damit ging es bei mir deutlich schneller, da musste ich mich in die kompliziertere gar nicht einarbeiten ;)
Danke!
Tommi
AW: Zeilen SCHNELL einfügen
25.10.2011 09:33:14
Daniel
Hi
solltest du aber.
der Vorteil meiner Methode ist, daß man sie bei beliebiger Datenmenge auch ohne VBA schnell und mit wenig aufwand anwenden kann.
dh. du kannst, wenns sein muss die Aufgabe auch mal lösen, ohne erst ein Makro schreiben zu müssen.
das Makro lohnt sich erst dann, wenn die Aufgabe wiederholt ausgeführt werden muss.
gruß, Daniel
Anzeige
AW: Zeilen SCHNELL einfügen
25.10.2011 09:37:01
TommiH
Hallo Daniel,
;) - okay, überzeugt (ich schaue es mir mal an), im Moment ist allerdings mein SeitenFormatProblem beim PDF-Ausdruck wichtiger - und - es geht um wiederkehrende Sachen, das ganze muss schließlich rund 700x ausgeführt werden...
Tommi
AW: Zeilen SCHNELL einfügen
25.10.2011 09:36:41
Daniel
außerdem, füge mal nicht alle 100 Zeilen 13 Zeilen ein, sondern nach jeder Zeile 1.
dann wirst du den Unterschied zwischen beiden Codes bemerken.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
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