VBA Geschwindigkeitstest

Bookmark and Share

Da es verschiedene Möglichkeiten gibt, um viele Zeilen einer Excel-Tabelle abzuarbeiten, möchte ich Ihnen heute drei verschiedene Varianten im Hinblick auf die Geschwindigkeit in VBA vorstellen.

Geschwindigkeitstest von VBA-Schleifen
Die Testdatei enthält dazu in Spalte A 2000 Zahlen und die gleiche Menge in Spalte B. Ziel der Testumgebung ist, Duplikate, also gleiche Ziffern von Spalte A in Spalte B zu finden und über den Befehl debug.print im Direktfenster der VBA-Umgebung auszugeben.

Folgende drei Varianten werden dabei im Hinblick auf die Geschwindigkeit der Durchläufe gegenübergestellt:

  • Variante 1: For-Next-Schleife mit direktem Verweis auf die Spalten- und Zeilennummern
  • Variante 2: For-Each-Next-Schleife mit direktem Verweis auf die Spalten- und Zeilennummern
  • Variante 3: For-Next-Schleife unter Verwendung von Array-Variablen

Testergebnisse:

Die folgende Tabelle zeigt die Programmlaufzeiten der drei Varianten:

Variane  Laufzeit in Sekunden
Variante 1  33 Sekunden
Variante 2  44 Sekunden
Variante 3  < 1 Sekunde

Wie nicht anders zu erwarten war, ist die Variante mit Verwendung der Array-Variablen die schnellst. Dass der Vergleich aber in nur einem kleinen Bruchteil der notwendigen Zeit der anderen Varianten erfolgt, war dann doch etwas überraschend.

Den kompletten Test einschließlich VBA-Code und der Testdatei zum herunterladen finden Sie hier auf Excel-Inside.de.