Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Code 1x in 630sek und danach in 30sek??
#1
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. Huh Huh Huh

Was macht Excel da? Ist das normal? Ist das so Art Cache oder Speicher etc..?

Grüsse
Antworten Top
#2
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.
Antworten Top
#3
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.
Antworten Top
#4
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
Antworten Top
#5
Bosko hat was von Dir gewollt. Ansonsten kannst Du Timer verwenden, um Codeschritte zu messen.
Antworten Top
#6
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)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste