Eure Erfahrung: Copy/Paste use vermeiden, beste Ideen?
03.02.2024 12:31:55
Frank Dreier
Ich weiß zwar eine Lösung, wollte aber mal fragen ob Ihr noch andere Ideen habt oder welche Bordmittel Excel hier noch mitbringt.
Ich würde gerne ohne den Zwischenspeicher arbeiten beim kopieren von Zellen in Excel. (Dieser wird anderweitig verwendet, falls jemand das wissen will...)
Hier mal meine Ideen (Beispiel Übertragung 200000 Zellen von einem Bereich in den anderen), vielleicht habt Ihr noch bessere Ideen:
Range("G1:J50000").Value = Range("A1:D50000").Value (Dauer der Operation: 0.33 Sekunden)
(kann mir einer erklären wie Excel hier ohne Zwischenspeicher arbeiten/auskommen kann, also rein technisch betrachtet? Weiß das jemand? Also was passiert hier hinter dem Code? Wie kann Excel hier trotzdem den Wert übertragen? Weiß das jemand?)
Hier zum Vergleich die standard-copy Funktion mit Zwischenspeichernutzung: (Dauer der Operation: 0.04 Sekunden)
Range("A1:D50000").Copy
Range("G1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Man sieht also, dass ohne Zwischenspeicher das Einfügen bei 50000 x 4 Spalten fast 8 mal so lange dauert wie bei der "Zwischenspeicher" Copy Funktion.
Das kann bei Operationen wo dies gerademal 100 Mal geschehen soll bis zu 0.29 Sek * 100 = 29 Sekunden ausmachen.
Ich finde das recht arg. Habt Ihr noch eine andere Idee? Hat Excel da noch andere Möglichkeiten,- wie gesagt, ohne Zwischenspeichernutzung?
Vielen Dank
Anzeige