Registriert seit: 20.04.2017
Version(en): 2016
Hi zusammen,
ich habe eine "generelle" Frage und zwar:
ich habe einen Code, der ziemlich viel schleifen und Suchfunktionen besitzt und welcher gaaaaanz viele Daten verarbeitet.
Öffne ich mein Workbook, und führe den Code aus, braucht er 630 Sekunden.
Wenn ich den Code direkt danach wieder ausführe, braucht er nur 30 Sekunden.
Schließe und öffne das Workbook erneut, braucht er wieder 630 Sekunden.
Was macht Excel da? Ist das normal? Ist das so Art Cache oder Speicher etc..?
Grüsse
Registriert seit: 13.04.2014
Version(en): 365, 2019
Hi,
Zitat:ich habe einen Code, der ziemlich viel schleifen und Suchfunktionen besitzt und welcher gaaaaanz viele Daten verarbeitet.
dann zeig ihn doch mal.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 04.03.2015
Version(en): 2000 + meist 2010
10.05.2017, 17:56
(Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2017, 17:56 von lupo1.)
Meistens liegt das an Zuweisungen, die "wie per Menü getätigt" auch in VBA verzögert funktionieren.
Und Menüfunktionen müssen beim ersten Mal gestartet werden. Beim zweiten Mal sind sie schon aktiv.
Beispiel: Formatierungen.
Abhilfe: Die Datei besitzt schon die Eigenschaften, die ihr bislang durch das Makro zugewiesen werden sollen.
Registriert seit: 20.04.2017
Version(en): 2016
Hi, welche eigenschaften meinst du? Den hauptsächlichen aufwand ist dass er in einem Feld etwas sucht, dann zellen nach unten geht und in einer variablen zeile dann in die Zelle etwas einfügt. das macht er bis zu 6000 mal
Registriert seit: 04.03.2015
Version(en): 2000 + meist 2010
10.05.2017, 20:13
(Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2017, 20:13 von lupo1.)
Bosko hat was von Dir gewollt. Ansonsten kannst Du Timer verwenden, um Codeschritte zu messen.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo rotzi,
da hast Du doch wahrscheinlich schon Deine Begründung. Wenn beim ersten mal 6000x was in die Zellen geschrieben wird, dann brauchst Du das beim zweiten mal nicht mehr, weil es schon drin ist, oder?
Das Ganze potenziert sich noch, wenn Excel nach jeder Änderung etwas rechnen muss. Da wird dann also min. 6000x gerechnet.
Das Rechnen könnte man schon mal reduzieren, wenn man an geeigneter Stelle den Berechnungsmodus auf manuell stellt, z.B. vor dem Öffnen der Datei, und an anderer geeigneter Stelle wieder auf Automatik und ggf. die Berechnung anschiebt, z.B. wenn die Datei endgültig offen ist.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)