Вставка в ячейку текущего времени, округленного кратно 5 мин
MIKHAIL-A-S
Дата: Вторник, 09.12.2014, 13:09 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Здравствуйте. Появилась необходимость вставки в активную ячейку текущее время, но округлённое кратно 5 мин. Я не программист. Нашёл код, который вставляет текущее время в активную ячейку ActiveCell = TimeSerial(Hour(Time), Minute(Time), 0). Есть решение округления для конкретной ячейки ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*24/(5/60),0)*((5/60)/24)". Но как соединить это в один макрос, чтобы при нажатии на кнопку в активную ячейку сразу вставлялось округлённое время?
Здравствуйте. Появилась необходимость вставки в активную ячейку текущее время, но округлённое кратно 5 мин. Я не программист. Нашёл код, который вставляет текущее время в активную ячейку ActiveCell = TimeSerial(Hour(Time), Minute(Time), 0). Есть решение округления для конкретной ячейки ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*24/(5/60),0)*((5/60)/24)". Но как соединить это в один макрос, чтобы при нажатии на кнопку в активную ячейку сразу вставлялось округлённое время? MIKHAIL-A-S
Ответить
Сообщение Здравствуйте. Появилась необходимость вставки в активную ячейку текущее время, но округлённое кратно 5 мин. Я не программист. Нашёл код, который вставляет текущее время в активную ячейку ActiveCell = TimeSerial(Hour(Time), Minute(Time), 0). Есть решение округления для конкретной ячейки ActiveCell.FormulaR1C1 = "=ROUND(RC[-1]*24/(5/60),0)*((5/60)/24)". Но как соединить это в один макрос, чтобы при нажатии на кнопку в активную ячейку сразу вставлялось округлённое время? Автор - MIKHAIL-A-S Дата добавления - 09.12.2014 в 13:09
Саня
Дата: Вторник, 09.12.2014, 13:17 |
Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация:
560
±
Замечаний:
0% ±
XL 2016
[vba]Код
Sub ddd() Dim d As Date: d = Time With ActiveCell .Value = TimeSerial(Hour(d), Minute(d), 0) .Offset(, 1).Value = Round(d * 24 / (5 / 60), 0) * ((5 / 60) / 24) End With End Sub
[/vba]
[vba]Код
Sub ddd() Dim d As Date: d = Time With ActiveCell .Value = TimeSerial(Hour(d), Minute(d), 0) .Offset(, 1).Value = Round(d * 24 / (5 / 60), 0) * ((5 / 60) / 24) End With End Sub
[/vba] Саня
Ответить
Сообщение [vba]Код
Sub ddd() Dim d As Date: d = Time With ActiveCell .Value = TimeSerial(Hour(d), Minute(d), 0) .Offset(, 1).Value = Round(d * 24 / (5 / 60), 0) * ((5 / 60) / 24) End With End Sub
[/vba] Автор - Саня Дата добавления - 09.12.2014 в 13:17
SLAVICK
Дата: Вторник, 09.12.2014, 13:18 |
Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация:
766
±
Замечаний:
0% ±
2019
[vba]Код
ActiveCell = Round(Now() * 24 / (5 / 60), 0) * ((5 / 60) / 24)
[/vba] Так?
[vba]Код
ActiveCell = Round(Now() * 24 / (5 / 60), 0) * ((5 / 60) / 24)
[/vba] Так? SLAVICK
Иногда все проще чем кажется с первого взгляда.
Ответить
Сообщение [vba]Код
ActiveCell = Round(Now() * 24 / (5 / 60), 0) * ((5 / 60) / 24)
[/vba] Так? Автор - SLAVICK Дата добавления - 09.12.2014 в 13:18
krosav4ig
Дата: Вторник, 09.12.2014, 14:30 |
Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
можно так [vba]Код
ActiveCell = Int(Time()*288)/288
[/vba] ЗЫ Если нужно будет округлять 60, 30, 10 минут то вместо 288 нужно будет писать 12, 48, 144
можно так [vba]Код
ActiveCell = Int(Time()*288)/288
[/vba] ЗЫ Если нужно будет округлять 60, 30, 10 минут то вместо 288 нужно будет писать 12, 48, 144 krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Вторник, 09.12.2014, 14:45
Ответить
Сообщение можно так [vba]Код
ActiveCell = Int(Time()*288)/288
[/vba] ЗЫ Если нужно будет округлять 60, 30, 10 минут то вместо 288 нужно будет писать 12, 48, 144 Автор - krosav4ig Дата добавления - 09.12.2014 в 14:30
MIKHAIL-A-S
Дата: Вторник, 09.12.2014, 14:43 |
Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Спасибо ОГРОМНОЕ. Всё работает.
Ответить
Сообщение Спасибо ОГРОМНОЕ. Всё работает. Автор - MIKHAIL-A-S Дата добавления - 09.12.2014 в 14:43