Live Countdown für eine bestimmte Uhrzeit in excel erstellen?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Beispiel: In Zelle C1 steht Deine Von-Uhrzeit und in Zelle C2 Deine Bis-Uhrzeit.

Füge der Arbeitsmappe nachfolgendes Makro hinzu und starte im Anschluss das Makro "Time". Der Countdown beginnt zu laufen und wird in Zelle A1 angezeigt.

Für die letzten 10 Sekunden gibt es ein sekündliches PING. =)

  • Dim gCount As Date
  •  
  • Sub Time()
  • Range("A1") = "=c2 - c1"
  • Timer
  • End Sub
  •  
  • Sub Timer()
  •    gCount = Now + TimeValue("00:00:01")
  •    Application.OnTime gCount, "ResetTime"
  • End Sub
  •  
  • Sub ResetTime()
  • Dim xRng As Range
  • Set xRng = Application.ActiveSheet.Range("A1")
  • xRng.Value = xRng.Value - TimeSerial(0, 0, 1)
  • If xRng.Value < TimeSerial(0, 0, 10) Then Beep
  • If xRng.Value <= 0 Then
  •    MsgBox "COUNTDOWN OVER"
  •    Exit Sub
  • End If
  • Call Timer
  • End Sub

 Jetzt aber her mit der positiven Bewertung! =))


Lukas2806 
Beitragsersteller
 09.01.2018, 11:39

Danke das hat so weit ganz gut funktioniert :-) Sorry das ich jetzt nochmal nerve ;-) aber weißt du vielleicht wie man das machen kann das es sich noch nach der aktuellen Zeit richtet wenn jetzt z.B. ich weiß nicht genau wie ich es anders erklären soll deswegen nehm ich jetzt mal des Beispiel an einem Arbeitstag. Wenn man jetzt beispielsweise um 8:00 Uhr auf die Arbeit kommt und um 16:45 Uhr fertig ist (Arbeitsdauer z. B. 8:45 Stunden) aber man dieses Excel Dokument erst später startet z. B. um 9 Uhr oder 10 Uhr oder um 8:30 Uhr, ... wie kann ich es dann erreichen das es genauso läuft wie bisher nur halt mit orientierung an der aktuellen Zeit das wenn man es wie gesagt später startet heißt im Dokument steht meinetwegen 8:00 Uhr und Endzeit 16:45 Uhr also 8:45 Stunden und wenn man des des dokument beispielsweise erst um 9 Uhr startet das die endzeit nicht 17:45 Uhr ist sondern weiterhin 16:45 Uhr sodass sich diese Excel tabelle ohne die Zeiten manuell entsprechend anzupassen an der aktuellen Zeit orientiert und dann um 16:45 Uhr endet als wäre sie pünktlich um 8:00 Uhr manuell gestartet worden.

0
RealGhostbuster  09.01.2018, 13:33
@Lukas2806

Du musst Dein Makro Time wie folgt abändern:

  • Sub time()
  •    x_1 = InputBox("Endzeit (hh:mm:ss)", "Zeitberechnung")
  •    Range("C2") = x_1
  •    Range("C1") = Format(Now, "hh:mm:ss")
  •    Range("A1") = "=C2 - C1"
  •    Timer
  •  End Sub

Ich habe mal eine Inputbox eingebaut. Kannst dies natürlich auch auf der manuellen Zelleingabe belassen. Der Countdown-Wert wird anhand der eingegebenen "Endzeit" und der aktuellen Zeit gebildet und gestartet. Die Zelle mit dem Countdown kann noch mit dem Format "hh:mm:ss" versehen werden, damit du auch die runtertickenden Sekunden siehst.

0
augsburgchris  08.01.2018, 16:02

Und sobald du was in ne Zelle eingibst hält der Timer an. So kannst du dann aus 10 Minuten mal 30 machen. :-)

1
RealGhostbuster  08.01.2018, 16:31
@augsburgchris

Na dann einfach ein weiteres mal Excel starten und in der zweiten Sitzung arbeiten. Dann wird der Timer nicht unterbrochen.

0

Da du in einem Kommentar sagst, es ist auch ok, wenn du das Ganze händisch aktualisierst:

=JETZT() gibt dir aktuelles Datum und Uhrzeit aus. Um das Datum loszuwerden, betrachte nur den Nachkommateil:

=REST(JETZT();1)

Wenn du dies als Uhrzeit anzeigen lässt, siehst du die aktuelle Zeit

Wenn diese Formel beispielsweise in A1 steht und deine Endzeit in A2, so schreibst du in A3: =A2-A1

Jedes Mal, wenn die Berechnung aktualsiert wird (z.B. durch Drücken von F9 oder durch Änderungen in der Tabelle), wird der Wert erneut berechnet,

Sinnvollerweise sind diese Zellen als Zeit zu formatieren. Sobald die aktuelle Zeit größer als die Endzeit ist, wird dir allerdings nur ####### angezeigt, da Excel nicht so ohne Weiteres negative Zeiten anzeigen kann.


Tron1701  10.01.2018, 07:57

Hallo,

um das Datum loszuwerden genügt das Zahlenformat "Uhrzeit", "13:30".

=REST(JETZT();1) ist nicht erforderlich.

Ansonsten OK.

Ein Live countdown wird ohne Makro nicht möglich sein.

Gruß Tron

0
gfntom  10.01.2018, 14:32
@Tron1701

Natürlich ist das notwendig! Nicht zur Anzeige, aber um mit dem Wert weiter zu arbeiten!

JETZT() liefert Datum und Uhrzeit, wird dies als Fließkommazahl dargestellt so liefert dies etwa 4110,60174. Hier muss man die Vorkommastellen los werden (wie auch immer), um es von einer Uhrzeit ("ohne" Datum) korrekt abziehen zu können!

Eine Alternative wäre, bei der "Stoppzeit" auch das Datum mit einzugeben, aber wer macht das schon.

Durch eine Formatierung ändert man nur die Darstellung einer Zahl, nicht aber deren hinterlegten Wert. Genau dies ist hier aber notwendig und genau darum habe ich das hier gemacht.

0

Nur über ein Makro das jede Sekunde ausfürhrt wird. Excel wir dann soweit nicht mehr wirklich nutzbar sein.


Lukas2806 
Beitragsersteller
 08.01.2018, 14:35

ja davon hab ich auch schon gehört muss auch nicht jede sekunde sein kann auch alle 60 sein oder wenn man es manuell aktualisieren muss wäre es auch nicht sooooo schlimm mein problem ist aber ich weiß nicht wie ich die ganze geschichte überhaupt erstellt

0