ich habe ein Problem.
Wie kann mir eine Excel-Zelle die abgelaufene Zeit in Sekunden
anzeigen. Der Start soll durch Änderung des Inhaltes einer Zelle auf Null ausgelöstz werden?
Vielen Dank
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Start = False
End Sub
Private Sub Workbook_Open()
Zeitmakro
Zeit = Time
Start = True
End Sub
und in ein Modul
Public Zeit As Date
Public Start As Boolean
Sub Zeitmakro()
Application.OnTime Now + TimeValue("00:00:01"), "Zielmakro"
End Sub
Sub Zielmakro()
Range("A1").Value = Format(Time, "hh:mm:ss")
Range("A2").Value = Format(Time - Zeit, "hh:mm:ss")
If Start = True Then Call Zeitmakro
End Sub
If Target.Address = "$B$5" Then
Call ZeitStarten
End If
If Target.Address = "$D$5" Then
Call ZeitEnden
Call ZeitAnzeige
End If
End Sub
---------------
Option Explicit
'Modul
Dim sw As New clsStopWatch
Sub ZeitStarten()
sw.StartTimer
End Sub
Sub ZeitEnden()
sw.EndTimer
End Sub
Sub ZeitAnzeige()
Dim Differenz
Differenz = sw.EndTimer
MsgBox Differenz & " Millisekunden gestoppt"
Range("$F$5") = Differenz
End Sub
-------------------
Option Explicit
'Klassenmodul
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private lngStartTime As Long
Public Sub StartTimer()
lngStartTime = timeGetTime
End Sub
Public Function EndTimer() As Long
EndTimer = timeGetTime - lngStartTime
End Function
Public Sub ShowTimer()
Dim ms As Integer, s As Integer, d As Integer, h As Integer, m As Integer, tmpTime As Long
tmpTime = EndTimer
d = tmpTime \ 86400000: tmpTime = tmpTime Mod 86400000
h = tmpTime \ 3600000: tmpTime = tmpTime Mod 3600000
m = tmpTime \ 60000: tmpTime = tmpTime Mod 60000
s = tmpTime \ 1000: tmpTime = tmpTime Mod 1000
ms = tmpTime
MsgBox d & " D, " & h & "h:" & m & "m:" & s & "s:" & ms & "ms"
End Sub
Gruss 007