Как использовать автоматическую фиксацию текущей даты при вводе данных в Excel

Предположим, у нас имеется таблица заказов, куда пользователь вводит номер заказа, имя клиента, сумму и т.д. Необходимо сделать так, чтобы при внесении номера заказа в столбец А – в столбце B напротив введенного заказа автоматически появлялись дата и время его занесения.

Как использовать автоматическую фиксацию текущей даты при вводе данных в Excel

Как использовать автоматическую фиксацию текущей даты при вводе данных в Excel


Чтобы реализовать такой ввод даты, нам потребуется простой макрос, который надо добавить в модуль рабочего листа. Для этого щелкните правой кнопкой мыши по ярлычку листа с таблицей и выберите в контекстном меню команду Исходный текст (View Code). Затем в появившееся пустое окно модуля введите код следующего макроса.

1
2
3
4
5
6
7
8
9
10
Private Sub Worksheet_Change(ByVal Target As Range)
	For Each cell in Target 'проходим по всем измененным ячейкам
        If Not Intersect(cell, Range("A2:A100")) Is Nothing Then 'если измененная ячейка
        With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату
        .Value = Now
        .EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B чтобы дата умещалась в ячейке
        End With
        End If
    Next cell
End Sub

При необходимости измените «чувствительный» диапазон А2:А100 на свой собственный. Если необходимо вставлять дату не в соседний столбец, а правее – подставьте в оператор Offset(0,1) вместо 1 число побольше. Закройте редактор Visual Basic и попробуйте ввести что-нибудь в диапазон А2:А100. В соседней ячейке тут же появится текущая дата-время!

Top