Uhrzeit auf ein festgelegtes Minuten-Intervall runden mit VBA
Für die Berechnung von Anwesenheits- oder Arbeitszeiten werden Startzeit, Endzeit, Pausenzeiten oder Unterbrechungen erfasst. Wenn es nicht nötig ist, die erfassten Zeiten minuten-genau zu verarbeiten, wird eine Funktion zum Runden der Zeiten benötigt. Das folgende Beispiel einer Funktion realisiert das Runden nach einem Zeit-Intervall, das mit der Uhrzeit als Funktions-Parameter übergeben wird.
Function UhrzeitGerundet(Uhrzeit, Intervall)
M = DatePart("n", Uhrzeit)
if M Mod I <> 0 Then
I = 1440 / Intervall
S = CVDate(Int(Uhrzeit * I + 0.5) / I)
else
S = Uhrzeit
End If
UhrzeitGerundet = S
End FunctionAufruf: UhrzeitGerundet(Uhrzeit as date; Intervall as interger)
Rückgabe: Uhrzeit als [Date]
Beispiel: UhrzeitGerundet(#24.12.2012 16:10:00#;15) – ergibt 24.12.2012 16:15
