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

Time mit Millisekunden?

Forumthread: Time mit Millisekunden?

Time mit Millisekunden?
30.09.2004 11:56:28
Andre
Hi zusammen,
ich möchte folgenden Code nutzen, um die Laufzeit einblenden zu lassen. Leider läuft mein Code u.U. schneller als eine Sekunde pro Durchlauf und die Funktion "Time" rechnet offensichtlich nur in Sekunden!?
For i = 1 To LetzteZeile
Start = Time
... hier mein Code
Ende = Time
[Tabelle1!C1] = ((Ende - Start) * (Gesamt - i))
Next i
Weiß jemand, wie ich die aktuelle Zeit auch mit Millisekunden auslesen kann?
Gruß Andre
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Time mit Millisekunden?
Ulf
Option Explicit

Sub messen()
Dim start As Double, x, dummy
start = Timer
'hier dein Code
'dummycode--------------------------
For x = 1 To 360000
dummy = Sin(x * 3.14 / 180) * Rnd
Next
MsgBox Timer - start
End Sub

Ulf
Danke euch beiden! o.T.
Andre
Doch noch eine Frage?!
30.09.2004 12:45:36
Andre
Wie kann ich diese Zahl wieder im Format "hh:mm:ss" anzeigen lassen?
z.B. 240,005604 sind dann 01:25:43 (rechnerisch falsch, nur ´n Beispiel!!!)
Gruß Andre
Anzeige
AW: Doch noch eine Frage?!
Uduuh
Hallo,
msgbox format((Ende-Start)/3600/24,"hh:mm:ss")
Gruß aus'm Pott
Udo
Danke, hat funktioniert. o.T.
Andre
AW: Time mit Millisekunden?
Uduuh
Hallo,
nimm Timer anstatt Time.
Gruß aus'm Pott
Udo
Anzeige
;
Anzeige

Infobox / Tutorial

Zeitmessung in Excel mit Millisekunden


Schritt-für-Schritt-Anleitung

Um die Laufzeit eines Codes in Excel mit Millisekunden zu messen, kannst du die Timer-Funktion anstelle von Time verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Erstelle ein neues Modul (Rechtsklick auf „VBAProject“ → „Einfügen“ → „Modul“).
  3. Füge den folgenden Code ein:
Sub messen()
    Dim start As Double, ende As Double
    Dim i As Long
    Dim letzteZeile As Long
    letzteZeile = 100 ' Beispielwert

    start = Timer
    For i = 1 To letzteZeile
        ' Hier dein Code
    Next i
    ende = Timer

    MsgBox "Laufzeit: " & (ende - start) & " Sekunden"
End Sub
  1. Passe die Anzahl der Schleifendurchläufe an deine Bedürfnisse an.
  2. Führe das Makro aus, um die Laufzeit zu messen.

Dieser Code verwendet Timer, um die Laufzeit in Sekunden und Millisekunden zu erfassen.


Häufige Fehler und Lösungen

  • Fehlermeldung bei Verwendung von Time: Wenn du versuchst, die Laufzeit mit Time zu messen, erhältst du möglicherweise nur Sekunden. Verwende stattdessen Timer, um auch Millisekunden zu erfassen.

  • Formatierungsprobleme: Wenn du die Laufzeit im Format "hh:mm:ss" anzeigen möchtest, kannst du den folgenden Code verwenden:

MsgBox Format((ende - start) / 86400, "hh:mm:ss")

Hierbei wird die Zeit in Tage umgerechnet, da Excel Zeit intern als Bruchteil eines Tages speichert.


Alternative Methoden

Neben der Verwendung von Timer gibt es auch andere Möglichkeiten, um die Zeit in Excel zu erfassen:

  • Excel-Funktionen: Du kannst auch die Funktion NOW() verwenden, um die aktuelle Uhrzeit zu erfassen. Beachte jedoch, dass NOW() nur bis zur Sekunde genau ist und nicht für Millisekunden geeignet ist.

  • Makros: Du kannst VBA-Makros verwenden, um komplexere Zeitmessungen durchzuführen, indem du die Systemzeit abfragst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Timer-Funktion in Excel nutzen kannst:

  1. Einfache Zeitmessung:
Sub einfacheZeitmessung()
    Dim start As Double
    Dim ende As Double

    start = Timer
    ' Hier dein Code
    ende = Timer

    MsgBox "Laufzeit: " & (ende - start) & " Sekunden"
End Sub
  1. Zeitmessung mit Formatierung:
Sub formatierteZeitmessung()
    Dim start As Double
    Dim ende As Double

    start = Timer
    ' Hier dein Code
    ende = Timer

    MsgBox "Laufzeit: " & Format((ende - start) / 86400, "hh:mm:ss")
End Sub

Diese Beispiele sind nützlich, wenn du die Laufzeit von VBA-Prozeduren oder Makros messen möchtest.


Tipps für Profis

  • Verwende Stopwatch: Wenn du VBA verwendest, kannst du auch die Stopwatch-Klasse nutzen, um präzisere Zeitmessungen durchzuführen.

  • Optimierung: Wenn du umfangreiche Datenmengen bearbeitest, überlege, ob du deinen Code optimieren kannst, um die Laufzeit zu reduzieren.

  • Debugging: Nutze das Debug.Print-Kommando, um Laufzeiten in der Konsole anzuzeigen, anstatt jedes Mal ein MessageBox-Fenster zu öffnen.


FAQ: Häufige Fragen

1. Wie kann ich die Laufzeit in Millisekunden anzeigen?
Um die Laufzeit in Millisekunden anzuzeigen, multipliziere die Differenz mit 1000:

MsgBox "Laufzeit: " & (ende - start) * 1000 & " Millisekunden"

2. Was ist der Unterschied zwischen Time und Timer?
Time gibt die aktuelle Uhrzeit zurück, die auf die Sekunde genau ist, während Timer die Zeit seit Mitternacht in Sekunden und Millisekunden zurückgibt.

3. Welche Excel-Version benötige ich?
Du kannst diese Funktionen in den meisten modernen Excel-Versionen verwenden, die VBA unterstützen (Excel 2003 und höher).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige