Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeit Makro anzeigen lassen

Forumthread: Laufzeit Makro anzeigen lassen

Laufzeit Makro anzeigen lassen
01.09.2003 11:53:56
Daniel
Hallo zusammen!

Wie kann ich über eine msgbox die Zeit anzeigen lassen die das Makro für die Erstellung benötigt hat? Die Msgbox erscheint, wenn die Prozedur zu ende ist.

Mit time bzw. timer Funktion klappt's irgendwie nicht!

Danke schonmal!

Gruss Daniel
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeit Makro anzeigen lassen
01.09.2003 11:58:27
WernerB.
Hallo Daniel,

das habe ich mal in diesem Forum aufgeschnappt:

Sub MakroLaufZeit()
Dim DatAnfang As Date
DatAnfang = Now
'hier Dein Code
MsgBox "Einige Sekunden warten !"
MsgBox Format(Now - DatAnfang, "hh:mm:ss"), , "Makro-Laufzeit"
End Sub

Viel Erfolg wünscht
WernerB.
Anzeige
AW: Laufzeit Makro anzeigen lassen
01.09.2003 12:27:43
Daniel
Hallo Werner!

Hat geklappt, vielen lieben Dank!
AW: Laufzeit Makro anzeigen lassen
01.09.2003 14:27:42
Stefan Braun
Hallo Daniel

Das Makro von Werner ist OK, aber du solltest die erste MSGBox weglassen, da hier die Zeit weiterläuft solange du diese nicht wegdrückst und du somit nicht die eigentliche Laufzeit hast
mfg Stefan
;
Anzeige

Infobox / Tutorial

Laufzeit von Makros in Excel VBA anzeigen


Schritt-für-Schritt-Anleitung

Um die Laufzeit eines Makros in Excel VBA anzuzeigen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den Visual Basic for Applications (VBA)-Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsblatt)", wähle "Einfügen" und dann "Modul".

  3. Füge den folgenden Code ein: Kopiere den nachstehenden Code in das Modul:

    Sub MakroLaufZeit()
       Dim DatAnfang As Date
       DatAnfang = Now
       ' Hier kommt dein Code
       MsgBox "Einige Sekunden warten!"
       MsgBox Format(Now - DatAnfang, "hh:mm:ss"), , "Makro-Laufzeit"
    End Sub
  4. Ersetze den Kommentar: Ersetze den Kommentar ' Hier kommt dein Code mit dem tatsächlichen Code, dessen Laufzeit du messen möchtest.

  5. Teste das Makro: Führe das Makro aus, um die Laufzeit in einer MsgBox am Ende anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: Falsche Laufzeit angezeigt
    Wenn du eine MsgBox vor der Laufzeitmessung verwendest, könnte die Zeit, die du in der MsgBox wartest, mitgezählt werden. Stelle sicher, dass du die erste MsgBox entfernst, um die tatsächliche Laufzeit korrekt zu erfassen.

  • Fehler: Zeitformat stimmt nicht
    Wenn das Zeitformat nicht korrekt angezeigt wird, überprüfe, ob du die Format-Funktion richtig anwendest. Die korrekte Verwendung ist: Format(Now - DatAnfang, "hh:mm:ss").


Alternative Methoden

Eine weitere Methode, um die Laufzeit eines Makros zu messen, ist die Verwendung des Timer-Befehls. Hier ein Beispiel:

Sub MakroLaufzeitMitTimer()
    Dim Startzeit As Double
    Startzeit = Timer
    ' Hier kommt dein Code
    MsgBox "Einige Sekunden warten!"
    MsgBox "Laufzeit: " & Timer - Startzeit & " Sekunden", , "Makro-Laufzeit"
End Sub

Diese Methode zeigt die Laufzeit in Sekunden an und kann besonders nützlich sein, wenn du mit kurzen Laufzeiten arbeitest.


Praktische Beispiele

Ein praktisches Beispiel könnte ein Makro sein, das Daten verarbeitet oder eine Berechnung durchführt. Hier ein einfaches Beispiel, das 1.000.000 Zufallszahlen summiert:

Sub SummiereZahlen()
    Dim DatAnfang As Date
    Dim i As Long
    Dim Summe As Double
    DatAnfang = Now

    For i = 1 To 1000000
        Summe = Summe + Rnd()
    Next i

    MsgBox Format(Now - DatAnfang, "hh:mm:ss"), , "Makro-Laufzeit"
End Sub

Dieses Beispiel zeigt die Laufzeit für die Berechnung der Summe der Zufallszahlen in einer MsgBox an.


Tipps für Profis

  • Nutze die Debug.Print-Anweisung, um Laufzeiten direkt im Direktfenster anzuzeigen, anstatt MsgBoxen zu verwenden. So kannst du deine Makros schneller testen, ohne ständig Dialogfenster schließen zu müssen.

  • Überlege, ob du die Laufzeit für mehrere Abschnitte deines Codes messen möchtest. Füge dazu mehrere Zeitmessungen in den entsprechenden Abschnitten ein.

  • Verwende die Application.Volatile-Methode, um sicherzustellen, dass deine Zeitmessungen in einer Funktion immer aktualisiert werden.


FAQ: Häufige Fragen

1. Wie kann ich die Laufzeit eines Makros in Excel für Windows anzeigen?
Die oben genannten Methoden funktionieren auf Windows-Versionen von Excel. Nutze die Now oder Timer-Funktionen, um die Zeit zu messen.

2. Kann ich die Laufzeit auch in Millisekunden messen?
Ja, du kannst die Timer-Funktion nutzen, die die Zeit in Sekunden zurückgibt. Für Millisekunden müsstest du eine andere Methode verwenden, da die Timer-Funktion nur bis zur nächsten Sekunde genau ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige