Имя пользователя:
Пароль:
 

Название темы: [решено] округление дат
Показать сообщение отдельно

Динохромный


Contributor


Сообщения: 712
Благодарности: 322

Профиль | Отправить PM | Цитировать


golovatov, функция округлить тут не очень подходит - даты в экселе исчисляются в сутках, соответственно один час - это 0,04166[6] по абсолютному значению. На VBA код будет выглядеть приблизительно так (округления я не использую):
Код
Код: Выделить весь код
Public Function timeround(time As Date)
Dim min As Date
    min = Minute(time)
    If min > 45 Then min = 61 Else If min > 15 Then min = 31 Else min = 1
    timeround = TimeSerial(Hour(time), min, 0)
    
End Function

или с оператором Select Case:
Код
Код: Выделить весь код
Public Function timeround2(time As Date)
Dim min As Date
min = Minute(time)
Select Case min
    Case Is > 45
        min = 61
    Case Is > 15
        min = 31
    Case Else
        min = 1
End Select

timeround2 = TimeSerial(Hour(time), min, 0)
    
End Function
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:33, 04-11-2015 | #4

Название темы: [решено] округление дат