Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Fortlaufende Uhrzeit in Zelle und Statusleiste zeigen

Gruppe

OnTime

Problem

Wie kann ich in einer Zelle und in der Statusleiste die jeweils aktuelle Uhrzeit anzeigen lassen?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Public Const gsMacro As String = "UpdateClock"
Public gdNextTime As Double

Sub UpdateClock()
   Application.DisplayStatusBar = True
   Worksheets("Tabelle1").Range("A1").Calculate
   Application.StatusBar = "Zeit: " & Format(Time, "hh:mm:ss")
   Call StartClock
End Sub

Sub StartClock()
   gdNextTime = Now + TimeSerial(0, 0, 1)
   Application.OnTime earliesttime:=gdNextTime, _
      procedure:=gsMacro, schedule:=True
End Sub

Sub StopClock()
   On Error Resume Next
   Application.OnTime earliesttime:=gdNextTime, _
      procedure:=gsMacro, schedule:=False
   Application.StatusBar = False
End Sub

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Call StopClock
End Sub