Мне нужно, чтобы он автоматически захватывал значение текущего времени в определенный момент, когда пользователь выполняет определенное действие (например, нажимает кнопку). Дело в том, что мне нужно, чтобы он сохранял это значение времени и не продолжал обновляться, так как он генерирует новые реестры в строках под ним.
Я пытаюсь создать рабочую книгу Excel, которая регистрирует и отслеживает время, которое мои сотрудники добираются до работы. По этой причине я не хочу, чтобы пользователь вводил значение времени, а просто нажимал кнопку в пользовательской форме, и компьютер автоматически генерировал и сохранял эти данные для последующего использования администратором.
Проблема в том, что функция Now() всегда обновляется до текущего времени.
Помощь приветствуется!
решение1
Это функция now() — выдавать текущее время.
Вам нужен простой код VBA для возврата текущей даты/времени при нажатии кнопки.
Вы не указали версию Excel. Для 2010/2013 вам нужно будет включить вкладку «Разработчик» на ленте и убедиться, что вы настроили Excel на разрешение запуска макросов.
На вкладке разработчика вставьте «Кнопку (элемент управления формой)». Дайте ей новый макрос для работы.
Введите следующий код:
Sub Button1_Click()
Application.ActiveCell.Value = Now()
End Sub
Он вставляет текущую дату/время как фиксированное значение в текущую выбранную ячейку.
решение2
Сделать Файл->Параметры->Формулы->Параметры расчета как Вручную