Доброго времени форумчане. Помогите подправить макрос. Макрос для автоматической постановки даты в ячейки при редактировании определенной ячейки. Сам макрос работает, но он не реагирует, если в в той самой определенной ячейке работает формула и ставит туда значения, макрос не срабатывает и не ставит дату.Сам код и пример. [vba]
Код
Sub ВсеВместе() Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("D2:D13")) Is Nothing Then 'если изменененная ячейка попадает в диапазон With cell.Offset(0, -1) 'вводим в соседнюю слева ячейку дату .Value = Now End With End If Next cell End Sub
[/vba]
Доброго времени форумчане. Помогите подправить макрос. Макрос для автоматической постановки даты в ячейки при редактировании определенной ячейки. Сам макрос работает, но он не реагирует, если в в той самой определенной ячейке работает формула и ставит туда значения, макрос не срабатывает и не ставит дату.Сам код и пример. [vba]
Код
Sub ВсеВместе() Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("D2:D13")) Is Nothing Then 'если изменененная ячейка попадает в диапазон With cell.Offset(0, -1) 'вводим в соседнюю слева ячейку дату .Value = Now End With End If Next cell End Sub
, но он не реагирует, если в в той самой определенной ячейке работает формула
Макрос срабатывает на изменение ячейки. Но в ячейке как была формула, так и осталась. Включите в проверку изменения влияющих на эту формулу ячеек, и на их изменение устанавливайте дату.
, но он не реагирует, если в в той самой определенной ячейке работает формула
Макрос срабатывает на изменение ячейки. Но в ячейке как была формула, так и осталась. Включите в проверку изменения влияющих на эту формулу ячеек, и на их изменение устанавливайте дату.anvg
Private Sub Worksheet_Change(ByVal Target As Range) u = Cells(Rows.Count, 2).End(xlUp).Row + 1 If Not Intersect(Target, Range("b2:b" & u)) Is Nothing Then 'If Target.Offset(0, 1) = "" Then Target.Offset(0, 1) = Now 'End If End If End Sub
[/vba] если снять каменты дата при повторном редактировании не измениться
Private Sub Worksheet_Change(ByVal Target As Range) u = Cells(Rows.Count, 2).End(xlUp).Row + 1 If Not Intersect(Target, Range("b2:b" & u)) Is Nothing Then 'If Target.Offset(0, 1) = "" Then Target.Offset(0, 1) = Now 'End If End If End Sub
[/vba] если снять каменты дата при повторном редактировании не изменитьсяNic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Понедельник, 20.01.2020, 14:45