Это нужно будет сделать в VBA, потому что, как вы уже сказали, функция Now()
рабочего листа автоматически обновляется при пересчете рабочего листа.
Вы можете использовать событие Worksheet_Change()
, чтобы сделатьthis.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim colRng As Range
Set colRng = Union(Me.Columns("H"), Me.Columns("I"), Me.Columns("L"))
If Not Intersect(Target, colRng) Is Nothing and (target.value = True or _
target.Value = false) Then
Me.Cells(Target.Row, "K").Value = Now
End If
End Sub
В этот момент, когда вы обновляете ячейку в столбцах H
, I
или L
, соответствующая строка в столбце K
теперь будет иметь вашу метку времени.
Если вы не знакомы с VBA, то самый простой способ сделать это - Щелкните правой кнопкой мыши вкладку листа в нижней части Excel и нажмите .Посмотреть код .Как только откроется новое окно, вам нужно будет вставить вышеуказанный блок кода в VBE.Затем вы можете просто закрыть это окно и перейти к выделенному фрагменту ниже.
Вам нужно будет сохранить его как новый формат рабочей книги.Нажмите F12 , пока рабочая таблица активна, а затем в раскрывающемся списке Сохранить как тип выберите Excel Macro-Enabled Workbook (*.xlsm)
.