Registriert seit: 29.09.2015
Version(en): 2030,5
Wenn man das Schreiben von Ergebnisse ins Arbeitsblatt bis auf einmal pro Makro beschränkt, braucht man keine deiner VBA-Zeilen.
Wenn zuviel kalkuliert wird sollte man 'named ranges' und 'conditional formatting' gründlich betrachten und soviel wie möglich reduzieren.
Eine kritische Analyse der Makro könnte wichtiger sein als ein -vielleicht überflüssiges- Beschleunigungsmakro.
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:1 Nutzer sagt Danke an snb für diesen Beitrag 28
• EasY
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
(17.08.2021, 20:31)RPP63 schrieb: P.S.:
Ich habe mehrfach darauf hingewiesen, dass .Value = .Value signifikant langsamer ist als .Copy .PasteSpecial
Bei allen bisherigen Antworten wurde nicht darauf eingegangen, dass die jeweils schnellere Alternative nur dann eine Rolle spielt, wenn sie in einem Wiederholungscode (also z.B. Schleife) mehrfach ausgeführt wird. Das ist bei diesem Beispiel aber nie der Fall.
Daher halte ich
.Value = .Value für schöner.
.Copy .PasteSpecial macht zumindest mir Angst. Das ist doch schon von der Wortwahl für den Zweck übertrieben. Erklärung: Es geht nämlich davon aus, dass es nicht nur um Werte geht, sondern um Selektieren aus allen anderen Zelleigenschaften. Excel ist aber Zahl und nicht Klickibunti (natürlich: Es gibt Ausnahmen).
Außerdem kommt hier snb ins Spiel, der von vornherein erst gar keine Formeln erstellt, sondern das Ergebnis (also .Value) gleich hineinschreibt. Dann entfällt .Value = .Value.