Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
For Each cell In Target
With cell
If Not Intersect(cell, Range("AE:AE")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
.Offset(0, -1).Value = Now
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
ElseIf Not Intersect(cell, Range("AF:AF")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
.Offset(0, -11).Value = Date
.Offset(0, -20).Value = Date + 30
.Offset(0, -22).Value = .Offset(0, -7).Value
.Locked = True
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
ElseIf Not Intersect(Target, Range("Y:Y")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
Target.Offset(0, -17) = Target
.Offset(0, -18).Value = Now
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
ElseIf Not Intersect(Target, Range("AI:AI")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
.Offset(0, 1).Value = Now
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
End If
End With
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Помогите пожалуйста поправить макрос, сейчас при изменении значения в диапазоне "Y:Y" в ячейку (0,-17) вставляется то что туда вводят, а в ячейку (0,-18) - дата и время изменения.
Но при удалении значения из ячейки "Y:Y", мой макрос так же удаляет в ячейке (0,-17) значение которое там было. Вот нужно сделать так, чтобы именно при удалении он не трогал ячейку (0,-17). Дату изменения (0,-18) пусть вставляет, а значение в ячейке (0,-17) нужно оставить, которое было до удаления.
ElseIf Not Intersect(Target, Range("Y:Y")) Is Nothing Then
Me.Unprotect Password:="лфкфе1708159357"
If Target = "" Then
.Offset(0, -18).Value = Now
else
Target.Offset(0, -17) = Target
.Offset(0, -18).Value = Now
end if
Me.Protect Password:="лфкфе1708159357", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True