Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1460to1464
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

Makro beschleunigen

Makro beschleunigen
07.12.2015 17:29:06
Christoph
Hey. Ich habe auch mal wieder eine Frage.
Habe folgendes Makro mit meinen einfachen VBA-Kenntnissen gebastelt.
Sub EndErgebnis2()
Application.DisplayAlerts = False
Dim iIndex As Integer
Do While iIndex 

Problem ist das es bis zu 20.000 Datensätze sein können.
Würde mit dieser Variante dann um die 5 Stunden laufen. Vorausgesetzt das Makro stürzt nicht ab. Vielleicht weiß ja jemand wie man dieses Makro deutlich schneller zum laufen bringen kann.
Grundsätzlich geht es eigentlich nur um diese Schleife.
Sub EndErgebnis2()
Application.DisplayAlerts = False
Dim iIndex As Integer
Do While iIndex 

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro beschleunigen
07.12.2015 17:58:19
Daniel
Hi
1. verschiebe alles, was sich innerhalb der Schleife nicht ändert, ausserhalb dieser Schleife
die Dimensionierung der Variablen gehört grundsätzlich an den Anfang des Makros.
Die Wertzuweisung muss nur dann innerhalb der Schleife erfolgen, wenn sich die zugewiesenen Werte innerhalb der Schleife ändern können.
 Dim strPfad As String
strPfad = Worksheets("Ausgangspfade").Range("D2").Value
Dim strPfad1 As String
strPfad1 = Worksheets("Ausgangspfade").Range("D3").Value
Dim strPfad2 As String
strPfad2 = Worksheets("Ausgangspfade").Range("D4").Value
Dim strDatei As String
strDatei = Worksheets("Ausgangspfade").Range("E2").Value
Dim strDatei1 As String
strDatei1 = Worksheets("Ausgangspfade").Range("E3").Value
Dim strDatei2 As String
strDatei2 = Worksheets("Ausgangspfade").Range("E4").Value
2. verzichte auf Selects und Activates.
die sind nicht notwendig und werden nur vom Recorder aufgezeichnet, weil wir "Mausschubser" so arbeiten müssen.
Weitere Infos dazu hier:
http://www.online-excel.de/excel/singsel_vba.php?f=78
überarbeite deinen Code mal nach diesen beiden Punkten, dann kannst du ihn hier nochmal vorstellen.
dann solltest du aber nicht nur den Code zeigen, sondern auch kurz beschreiben, was du mit dem Code erreichen willst, das erleichtert das Verständnis für dein Problem.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige