Как автоматически записывать дату и время при изменении ячейки?
Нам легко вставить статическую дату и время вручную или вставить динамическую дату, меняющуюся вместе с системным временем, с помощью формулы. Если вы хотите автоматически записывать дату и время при изменении или вводе значений, эта проблема может быть несколько иной. Но в этой статье вы можете решить эту задачу, выполнив следующие шаги.
Автоматическая запись даты и времени при изменении ячейки с помощью кода VBA
Автоматическая запись даты и времени при изменении ячейки с помощью кода VBA
Например, у меня есть диапазон значений, и теперь, когда я изменяю или ввожу новые значения в столбец B, я хочу, чтобы в столбце C автоматически записывались текущая дата и время, как показано на следующем снимке экрана:
Вы можете завершить эту задачу с помощью следующего кода VBA. Пожалуйста, сделайте так:
1. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.
2. Затем выберите использованный рабочий лист слева Обозреватель проекта, дважды щелкните его, чтобы открыть Модули, а затем скопируйте и вставьте следующий код VBA в пустой модуль:
Код VBA: автоматически записывать дату и время при изменении ячейки
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
3. Затем сохраните и закройте этот код, чтобы вернуться на рабочий лист, теперь, когда вы изменяете значение ячейки или вводите новые данные в столбец B, дата и время будут автоматически записываться в столбец C.
Ноты:
1. В приведенном выше коде вы можете изменить «B: B”В любой другой столбец, значения ячеек которого вы хотите изменить в этом скрипте: Установите WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).
2. С этим ксоффсетколумн = 1 скрипт, вы можете вставить и обновить дату и время в первом столбце рядом с вашим столбцом изменяющегося значения, вы можете изменить число 1 на другие числа, такие как 2,3,4,5… это означает, что дата будет вставлена второй, третий, четвертый или пятый столбцы помимо столбца измененных значений.
3. Когда вы удаляете значение в измененном столбце, дата и время также удаляются.
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!