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

ganz genaue Zeitangabe; Berechnung genaue Dauer

ganz genaue Zeitangabe; Berechnung genaue Dauer
Peter
Liebes Forum
Mit Hilfe der Deklaration
Private Declare Function GetTime Lib "winmm.dll" _
Alias "timeGetTime" () As Long
erhalte ich mit ?gettime im Direktbereich die aktuelle Zeit in Millisekunden.
Wie muss ich die Codezeile
Sheets("Cockpit").Range("A1") = GetTime
....
Sheets("Cockpit").Range("A2") = GetTime
anpassen, damit ich in den Zellen A1 und A2 die Uhrzeit zum Zeitpunkt des Eintrags erhalte (Format mm:ss,00), mit der ich dann die Differenz in Sekunden (Format ss,00 oder ss.00) berechnen kann?
Formel in A3: A2-A1 (Anzeige im Format ss,00 oder ss.00)
Danke für jede Hilfe.
Gruss, Peter
AW: ganz genaue Zeitangabe; Berechnung genaue Dauer
08.11.2011 15:22:36
Peter
Hallo Albrecht
Danke für den Hinweis. Das hat allerdings meine Frage noch nicht geklärt. Nebst der gestellten Frage wäre für mich interessant, wie sich die ausgegebenen Millisekunden von Total 28201673 heute 8.11.2011, 15:13:06 berechnen lassen. Was ist die Abhängigkeit von Millisekunden und Datum/Zeit?
Gruss, Peter
AW: ganz genaue Zeitangabe; Berechnung genaue Dauer
08.11.2011 15:49:39
Rudi
Hallo,
was willst du damit?
Weißt du eigentlich, was die Funktion zurück gibt?
The timeGetTime function retrieves the system time, in milliseconds. The system time is the time elapsed since Windows was started.
Daraus kannst du keine Uhrzeit berechnen.
Gruß
Rudi
Anzeige
AW: ganz genaue Zeitangabe; Berechnung genaue Dauer
09.11.2011 11:39:12
Peter
Hallo Rudi
Danke für deine Antwort.
Meine Absicht war, bei einem grösseren VBA-Projekt, das über 50 Codes aufruft, die Laufzeit zu protokollieren und zu sehen, wie lange die einzelnen Teile laufen - dann ein Vergleich bei Ablauf in einer alten Excel Programm-Umgebung und einer neuen Excel Programm-Umgebung anzustellen.
Da einzelne Codes sehr wenig Zeit brauchen, habe ich nach einer Lösung für Milli-Sekunden gesucht.
Mir war nicht bewusst, was die Funktion genau zurück gibt - danke für die Info.
Vielleicht hat jemand dazu einen Lösungsvorschlag, deshalb lasse ich den Thread noch offen.
Gruss, Peter
Anzeige
AW: ganz genaue Zeitangabe; Berechnung genaue Dauer
12.11.2011 07:35:05
fcs
Hallo Peter,
eigentlich bist du ja "nur" an der Laufzeit der Makros interessiert. Da spielt die eigentliche Uhrzeit zum Startzeitpunkt ja keine so große Rolle. Da kann man auch die sekundengenaue Systemzeit verwenden.
Die millisekundengenaue Windowslaufzeit wird jeweils in Variablen gespeichert. Die millisekunden genaue Endzeit wird dann aus der Startzeit und den zwischengespeicherten Werten berechnet.
Gruß
Franz
Option Explicit
Private dblTime As Double, dblStart_ms As Double, dblEnd_ms As Double
Private Declare Function GetTime Lib "winmm.dll" _
Alias "timeGetTime" () As Long
Sub aaTest()
dblTime = Time        'Startzeit merken (Sekunden genau, Systemzeit)
dblStart_ms = GetTime 'Startzeit merken (Millisekunden genau, Windows-Laufzeit)
Sheets("Cockpit").Range("A1") = dblTime
'  Sheets("Cockpit").Range("B1") = dblStart_ms / 1000 'Startzeit in Sekunden
MsgBox "Ein bischen Warten"
dblEnd_ms = GetTime   'Endezeit merken (Millisekunden genau, Windows-Laufzeit)
Sheets("Cockpit").Range("A2") = dblTime + (dblEnd_ms - dblStart_ms) / 1000 / 60 / 60 / 24
'  Sheets("Cockpit").Range("B2") = dblEnd_ms / 1000  'Endezeit in Sekunden
End Sub

Anzeige
AW: ganz genaue Zeitangabe; Berechnung genaue Dauer
12.11.2011 09:36:55
Peter
Hallo Franz
Danke für deine Antwort. Es stimmt, dass ich primär an der Laufzeit interessiert bin. Allerdings wird diese Laufzeit auch von der Tageszeit beeinflusst, da der Server zu bestimmten Tageszeiten sehr ausgelastet ist und dies sich dann auch auf die Laufzeit der Makros auswirkt. Aber mit der Kombination von Systemzeit und der Windows-Millisekunden kann ich das Ziel erreichen.
Ich habe noch eine Verständnisfrage zur Delkaration von
Private dblTime As Double, dblStart_ms As Double, dblEnd_ms As Double
Weshalb hast du die nicht "ganz normal" innerhalb des Makros mit
Dim dblTime As Double, dblStart_ms As Double, dblEnd_ms As Double
deklariert?
Gruss, Peter
Anzeige
AW: ganz genaue Zeitangabe; Berechnung genaue Dauer
12.11.2011 12:51:29
fcs
Hallo Peter,
in diesem Fall spielt die Position der Variablen-Deklaration keine Rolle. Du kannst die Variablen auch per Dim innerhalb der Sub deklarieren.
Ich hatte die Testprozeduren zunächst anders aufgebaut. Da musste ich die Variablen übergeordnet deklarieren, da sie in mehreren Prozeduren verwendet wurden bzw. ihnen Werte zugewiesen wurde.
Gruß
Franz
AW: Vielen Dank! owT
12.11.2011 14:58:21
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige