Округление до ближайшей минуты:
ActiveCell.Value = Int(Time * 24 * 60) / (24 * 60)
Или же
ActiveCell.Value = TimeSerial(Hour(Time),Minute(Time),0)
У меня есть макрос «табель рабочего времени» для ввода и вывода времени для использования сотрудниками на работе. Вот макрос, который у меня есть:
ActiveCell.Value = Time ActiveCell.NumberFormat = "h:mm AM/PM"
Он работает хорошо и отображается только как "7:30 утра", например, но в поле редактирования есть секунды, и это может сделать время сдвига (формула = IF (ИЛИ (C2 = "", F2 = "" ), "", ((F2-C2) - (E2-D2)) * 24)) отключается на одну минуту, если секунды не совпадают, но мы не рассчитываемся на секунды, только минуты. Есть ли способ изменить макрос, где фиксируются только час и минута. Форматирование не исправляет это. Я в порядке с этим, возвращая "7:30:00 AM" каждый раз, а не фактические секунды. Спасибо!
Округление до ближайшей минуты:
ActiveCell.Value = Int(Time * 24 * 60) / (24 * 60)
Или же
ActiveCell.Value = TimeSerial(Hour(Time),Minute(Time),0)
Вы можете попробовать это также:
ActiveCell.Value = Format(range("D2"), "HH:MM")
Обратите внимание, в ячейке D2
есть формула для расчета времени, которое вы показываете в приведенном выше вопросе.
Или вместо ActiveCell вы также можете использовать следующее:
Selection.NumberFormat = "h:mm" Range("E327").NumberFormat = "hh:mm"