Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как автоматически записывать дату и время при изменении ячейки?

Author Xiaoyang Last modified

Нам легко вручную вставить статическую дату и время или вставить динамическую дату, которая меняется вместе с системным временем, используя формулу. Если вы хотите автоматически записывать дату и время при изменении или вводе значений, эта задача может быть немного сложнее для решения. Однако в этой статье вы сможете выполнить эту задачу, следуя указанным шагам.

Автоматическая запись даты и времени при изменении ячейки с помощью кода VBA


Автоматическая запись даты и времени при изменении ячейки с помощью кода VBA

Например, у меня есть диапазон значений, и теперь, когда я изменяю или ввожу новые значения в столбце B, я хочу, чтобы автоматически записывалась текущая дата и время в столбец C, как показано на следующем скриншоте:

screenshot of result

Вы можете выполнить эту задачу с помощью следующего кода VBA. Пожалуйста, действуйте так:

1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

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

screenshot of using VBA code

3. Затем сохраните и закройте этот код, чтобы вернуться к листу. Теперь, когда вы измените значение ячейки или введете новые данные в столбец B, дата и время будут автоматически записаны в столбец C.

Примечания:

1. В приведенном выше коде вы можете изменить «B:B» на любой другой столбец, в котором вы хотите изменить значения ячеек в этом скрипте: Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target).

2. С помощью этого скрипта xOffsetColumn = 1 вы можете вставлять и обновлять дату и время в первый столбец рядом с вашим столбцом изменяемых значений. Вы можете изменить число 1 на другие числа, такие как 2,3,4,5… Это означает, что дата будет вставлена во второй, третий, четвертый или пятый столбец рядом со столбцом измененных значений.

3. Когда вы удаляете значение в изменяемом столбце, дата и время также будут удалены.


Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
  • Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек