Добрый день! После заполнения данных в столбцах с X по AI в столбце AK присваивается статус "все заполнено". Можно как-то зафиксировать время и дату заполнения, например, в столбце BD? И чтобы эта дата и время не менялись при открытии/закрытии файла? Дата и время должны изменяться только при изменении заполненных данных.
Добрый день! После заполнения данных в столбцах с X по AI в столбце AK присваивается статус "все заполнено". Можно как-то зафиксировать время и дату заполнения, например, в столбце BD? И чтобы эта дата и время не менялись при открытии/закрытии файла? Дата и время должны изменяться только при изменении заполненных данных.olya2084
но если будут изменения то она изменится. Лучше всего в этом случае VBA. В этом не силён. Думаю до завтра предложат нужный макрос. Не. Не работает. Только VBA.
но если будут изменения то она изменится. Лучше всего в этом случае VBA. В этом не силён. Думаю до завтра предложат нужный макрос. Не. Не работает. Только VBA.DrMini
Private Sub Worksheet_Change(ByVal Target As Range) u = UsedRange.Rows.Count If Not Intersect(Target, Range("x6:ai" & u)) Is Nothing Then a = Target.Row 'строка, в которую вносим данные b = Range("ak" & a).Value 'статус с = Range("bd" & a).Value 'дата / время 'если статус = "все заполнено" и дата / время не заполнено, _ тогда записываем If b = "все заполнено" And c = "" Then Range("bd" & a) = Now 'если внести изменения в строку с уже "все заполнено" и датой / временем _ и нужно изменить время: 'If b = "все заполнено" Then Range("bd" & a) = Now 'но если данные обновятся и при этом остануться прежними - дата изменится End If End Sub
[/vba] u = UsedRange.Rows.Count работает при условии, что в 1-й строке есть какое-то значение
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) u = UsedRange.Rows.Count If Not Intersect(Target, Range("x6:ai" & u)) Is Nothing Then a = Target.Row 'строка, в которую вносим данные b = Range("ak" & a).Value 'статус с = Range("bd" & a).Value 'дата / время 'если статус = "все заполнено" и дата / время не заполнено, _ тогда записываем If b = "все заполнено" And c = "" Then Range("bd" & a) = Now 'если внести изменения в строку с уже "все заполнено" и датой / временем _ и нужно изменить время: 'If b = "все заполнено" Then Range("bd" & a) = Now 'но если данные обновятся и при этом остануться прежними - дата изменится End If End Sub
[/vba] u = UsedRange.Rows.Count работает при условии, что в 1-й строке есть какое-то значениеNic70y
Nic70y, Добрый вечер! Может вас не затруднит подсказать: мне нужно добавить в столбец BZ аналогичное отображение времени при следующем условии: столбец BM заполнен и присвоен статус "все заполнено" в столбце BQ. Попробовала скопировать предыдущий макрос, изменив наименование столбцов- ничего не вышло, выдает ошибку.
Nic70y, Добрый вечер! Может вас не затруднит подсказать: мне нужно добавить в столбец BZ аналогичное отображение времени при следующем условии: столбец BM заполнен и присвоен статус "все заполнено" в столбце BQ. Попробовала скопировать предыдущий макрос, изменив наименование столбцов- ничего не вышло, выдает ошибку.olya2084