День добрый, прошу помощи в выполнении такого ТЗ.: Есть номера по порядку, это номер заказа. Бывает когда надо поменять местами заказы и соответственно дата должна поменяться, то есть отчет выполнения заказа начнется с СЕГОДНЯ. То есть к примеру вчера поставили сначала делать заказ №2 и дата стала 18.08.19, а сегодня выяснили что надо заказ №3 отгрузить быстрее чем №2, меняют в таблице порядок выполнения и дата автоматом стала сегодняшней. Реально ли это сделать формулой? или только VBA?
День добрый, прошу помощи в выполнении такого ТЗ.: Есть номера по порядку, это номер заказа. Бывает когда надо поменять местами заказы и соответственно дата должна поменяться, то есть отчет выполнения заказа начнется с СЕГОДНЯ. То есть к примеру вчера поставили сначала делать заказ №2 и дата стала 18.08.19, а сегодня выяснили что надо заказ №3 отгрузить быстрее чем №2, меняют в таблице порядок выполнения и дата автоматом стала сегодняшней. Реально ли это сделать формулой? или только VBA?Chetvertkoff
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:A100")) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100 With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату .Value = Now .EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке End With End If Next cell End Sub
[/vba] но мне надо одну дату в одной ячейке, помогите ,как использовать этот код в моем примере
нашел вот такой код в просторах интернета
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:A100")) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100 With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату .Value = Now .EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке End With End If Next cell End Sub
[/vba] но мне надо одну дату в одной ячейке, помогите ,как использовать этот код в моем примереChetvertkoff
Private Sub Worksheet_Change(ByVal Target As Range) Dim dat& dat = Cells(Rows.Count, 1).End(xlUp).Row If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A1:A" & dat)) Is Nothing Then
If Target <> "" Then Target.Offset(0, 4) = Date End If End Sub
[/vba]
может правильно.? сделал как понял [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim dat& dat = Cells(Rows.Count, 1).End(xlUp).Row If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("A1:A" & dat)) Is Nothing Then
If Target <> "" Then Target.Offset(0, 4) = Date End If End Sub
Ну осталось только сделать чтоб дата менялась только в одной ячейке. То есть ячейка с датой в которой отображается дата изменения ячеек всего диапазона, а не даты на против каждой строки. Проверяет весь столбец но дату в одну ячейку всегда ставит.
Ну осталось только сделать чтоб дата менялась только в одной ячейке. То есть ячейка с датой в которой отображается дата изменения ячеек всего диапазона, а не даты на против каждой строки. Проверяет весь столбец но дату в одну ячейку всегда ставит.Chetvertkoff
Есть столбец A1:A10 где я ставлю номера , в какой ставлю - напротив появляется дата, а мне надо в фиксированном месте дата, но меняется она в зависимости от замены номера в любой ячейке заданного диапазона. Самый тупой пример - ЧАСЫ на стене, одни часы на стене!. Поменял значение ячейки - ПОМЕНЯЛОСЬ ВРЕМЯ! Завтра захожу в этот файл, и в другой ячейке меняю номер - НА ЭТИХ ЖЕ ЧАСАХ поменялось время когда я поменял значение в ДРУГОЙ уже ячейке.
Есть столбец A1:A10 где я ставлю номера , в какой ставлю - напротив появляется дата, а мне надо в фиксированном месте дата, но меняется она в зависимости от замены номера в любой ячейке заданного диапазона. Самый тупой пример - ЧАСЫ на стене, одни часы на стене!. Поменял значение ячейки - ПОМЕНЯЛОСЬ ВРЕМЯ! Завтра захожу в этот файл, и в другой ячейке меняю номер - НА ЭТИХ ЖЕ ЧАСАХ поменялось время когда я поменял значение в ДРУГОЙ уже ячейке.Chetvertkoff