Uhrzeit auf ein festgelegtes Minuten-Intervall runden mit VBA

Uhrzeit auf ein festgelegtes Minuten-Intervall runden mit VBA

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 Function

Aufruf: 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