Excel Stoppuhr-Funktion?
Hallo zusammen.. Muss für die Arbeit ein Excel-Macro erstellen, dass wie eine Stoppuhr funktioniert. Ist aber keine normale Stoppuhr, denn wenn man den STOP-Button betätigt, soll die gemessene Zeit in verscheidene Tabellen, mithilfe von Gründen, zugeordnet werden.
Ich weiß ist etwas schwieriger, aber freue mich über jede Hilfe:)
1 Antwort
Eine einfache Stoppuhr kannst du so umsetzen:
Dim dtStart As Date Private Sub btnStartStop_Click() If btnStartStop.Caption = "Start" Then dtStart = Now() btnStartStop.Caption = "Stopp" Else Range("A1").NumberFormat = "0 ""Sekunden""" Range("A1").Value = DateDiff("s", dtStart, Now()) Range("B1").Value = InputBox("Text für die gestoppte Zeit von " & Range("A1").Value & " Sekunden", "Bemerkung", "") btnStartStop.Caption = "Start" End If End Sub
Wenn du die Zeit laufend anzeigen willst, musst du mal schauen, ob es Timer-Funktionen gibt.
Ich meinte eine Funktion, die alle x Millisekunden ausgeführt wird. Die Funktion könnte man dafür nehmen, die aktuelle Zeit seit Beginn des Stoppvorgangs anzuzeigen.
In JavaScript heißt die Funktion beispielsweise setIntervall oder setTimeout.
Es handelt sich hierbei um einen nicht blockierenden Thread, der parallel läuft und einen Sleep-Befehl am ende der Aktion ausführt.
Du hast mich aber auf eine Idee gebracht.
https://msdn.microsoft.com/de-de/library/office/gg264416.aspx
Der Schlüssel ist DoEvents. Eventuell kann man so in Kombination mit einer Mod-Funktion alle x Millisekunden die Anzeige aktualisieren.
Ja die normale hab ich ja schon.
Die gestoppte Zeit muss aber noch durch verscheidene Button den jeweiligen Tabellen zugeordnet werden...
Sheets(<ab>).Range(<xy>).Value = <deine gestoppte Zeit>
Die Timer()-Funktion liefert die Anzahl der Sekunden seit 00:00 Uhr auf 1/256 Sekunde genau. Der Fall, dass die Messung über einen Datumswechsel geht, muss gesondert berücksichtigt werden.