Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Von einer Gesamtzeit die aktuell vergangene Zeit abziehen

Gruppe

Zeit

Problem

Wie kann ich von einer vorgegebenen Gesamtzeit die von Start bis Aktuell vergangene Zeit abziehen?

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

ClassModule: DieseArbeitsmappe

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

StandardModule: basMain

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

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

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

Private Sub UpdateClock()
   If Range("B2").Value >= (Range("B1").Value - _
      TimeSerial(0, 0, 5)) Then
      Beep
      Range("B2").Value = 0
      Call StopClock
   Else
      Range("B2").Value = Range("B2").Value + TimeSerial(0, 0, 5)
      Call StartClock
   End If
End Sub

    

Beiträge aus dem Excel-Forum zu den Themen DatumZeit und Zeit