Как использовать автоматическую фиксацию текущей даты при вводе данных в Excel
Предположим, у нас имеется таблица заказов, куда пользователь вводит номер заказа, имя клиента, сумму и т.д. Необходимо сделать так, чтобы при внесении номера заказа в столбец А – в столбце B напротив введенного заказа автоматически появлялись дата и время его занесения.
Чтобы реализовать такой ввод даты, нам потребуется простой макрос, который надо добавить в модуль рабочего листа. Для этого щелкните правой кнопкой мыши по ярлычку листа с таблицей и выберите в контекстном меню команду Исходный текст (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. В соседней ячейке тут же появится текущая дата-время!