Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
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

Makros auswerten - Zeit messen

Makros auswerten - Zeit messen
08.02.2016 16:58:28
SteffenS
Hallo Zusammen,
ich habe ein sehr komplexes Projekt mit vielen Makros, Unterfunktionen etc.
Da die Performance nicht unbedingt so toll ist, würde ich gern einmal im Detail analysieren, an welcher Stelle wieviel Zeit gebraucht wird.
Habt ihr eine Idee, wie ich so etwas machen kann oder gibt dazu ggf. auch eine Erweiterung?
Danke Euch schon mal.
Viele Grüße
Steffen Schmerler

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makros auswerten - Zeit messen
08.02.2016 17:13:42
Michael
Hallo,
Am Anfang der sub eingeben:
MyStart = timer
Am ende der sub:
Msgbox timer - myStart
Mfg

AW: Makros auswerten - Zeit messen
08.02.2016 17:59:18
SteffenS
Hallo Zusammen,
danke erstmal für die schnelle Antwort.
Da meine Projekte recht komplex sind suche ich etwas was mehr ins Detail geht.
Was z.B.: die Zeit pro Abfrage, Schleife, Unterprozedur etc. ausgibt.
Habt ihr so etwas schon einmal gesehen, gehört?
Danke Euch schon mal.
VG
Steffen Schmerler

Anzeige
AW: Makros auswerten - Zeit messen
08.02.2016 18:13:02
Daniel
Hi
Im Prinzip so wie es dir Michael gezeigt hat:
am Anfang des zu messenden Programmabschnitts:
MyStart = Timer
hier der Code der auf Laufzeit zu überprüfen ist
Msgbox Timer - MyStart
das muss nicht zwingen am Anfang und Ende eines Makros stehen, dass kann auch mitten drin und mehrfach erfolgen.
Die Ausgabe muss auch nicht zwingend mit einer Messagebox erfolgen, wenn du mehrere Bereiche messen willst und das Makro ununterbrochen durchlaufen soll, du kannst die Zeitwerte auch mit Debug.Print im Direkfenster anzeigen lassen oder in ein Tabellen blatt schreiben:

MyStart = Timer
hier der Code
Debug.Print "Abschnitt 1:", Timer - MyStart

MyStart = timer
hier der Code
Zeile = Zeile + 1
Sheets("Durchlaufzeiten").Cells(Zeile, 2) = Timer - MyStart
Sheets("Durchlaufzeiten").Cells(Zeile, 1) = "Abschnitt 1"
das es dazu was fertiges gibt was du einfach nur answenden brauchst, glaube ich nicht, denn ausser dir kann ja niemand wissen, in welche Abschnitte das Programm sinnvoll geteilt werden muss.
Gruß Daniel

Anzeige
AW: Ergänzung - evtl. interessantes Tool
09.02.2016 08:34:53
Michael
Hallo Steffen!
Da Du ja offenbar sehr umfangreiche Entwicklungs-Projekte in VBA vorliegen hast, könnte hinsichtlich Aufräum-, Wartungsarbeiten und Testungen dieses Open Source Add-In für Dich interessant sein: http://rubberduckvba.com/
Ich weiß nicht ob Laufzeit-Berechnungen möglich sind, aber vielleicht sind die auch gar nicht mehr möglich, wenn Du Deine gesamten Projekte durch Unit-Tests schicken und so aufräumen kannst.
LG
Michael

Anzeige
AW: Makros auswerten - Zeit messen
08.02.2016 19:42:31
Piet
hallo
ich habe den Thread geade gelsen und bin kein Profi für das Problem.
Sage aber mal was ich als Laie in der Praxis mache ...
Im Makro schreibe ich mir am Anfang beim Start und am Ende die Zeiten in eine Zelle.
Laufen mehrere Makros die verschachtelt sind nimmt man einfach mehrere Zellen und
schaut wie lange jedes einzelne Programm gelaufen ist. (evtl. in seperater Tabelle)
Vielleicht nicht Profihaft, aber bei langen Zeiten könnte es helfen so dem Makro
auf die Spur zu kommen wo man suchen muss. (z.B. Ellenlange For Next Schleifen)
mfg Piet

Anzeige
AW: Makros auswerten - Zeit messen
09.02.2016 16:28:42
SteffenS
Hallo Zusammen,
danke für die vielen Infos.
Werde mich mit dem Tool rubberDuck mal näher beschäftigen.
Ein Problem habe ich schon gefunden :-)
Danke Euch schon mal.
VG Steffen

Doch noch kurze Frage
09.02.2016 16:44:37
SteffenS
Hallo Zusammen,
eine Frage habe ich noch.
Ist die Nutzung von
MyStart = Timer
Debug.Print WS.Name, Timer - MyStart, Now
Ein Problem für die Performance?
Ich hatte die Idee dies in jedes Makro an den Start und das Ende zu hängen und somit immer die genauen Zeiten verfügbar zu haben? Man könnte dieses ja auch noch ausbauen um den Makronamen etc...
Danke Euch schon mal
VG Steffen Schmerler

Anzeige
AW: Doch noch kurze Frage
09.02.2016 17:00:09
Daniel
Auf jeden fall kein so grosses, dass du es merken wirst.
Gruß Daniel

AW: Doch noch kurze Frage
09.02.2016 20:51:50
SteffeS
Hallo,
danke für den Tipp. Dann werde ich das mal angehen.
VG Steffen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige