У меня есть код, который генерирует запись / комментарий каждый раз, когда ячейка изменяется, но он не делает то же самое для нескольких ячеек, когда они вставляются. Как мне получить этот код для добавления комментария для любой ячейки, которая изменяется индивидуально или в функции вставки нескольких ячеек?
Private Sub Worksheet_Change(ByVal Target As Range)
Const xRg As String = "A1:Z1000"
Dim strOld As String
Dim strNew As String
Dim strCmt As String
Dim xLen As Long
With Target(1)
If Intersect(.Cells, Range(xRg)) Is Nothing Then Exit Sub
strNew = .Text
ActiveSheet.Unprotect Password:="test"
Application.EnableEvents = False
strOld = .Text
.Value = strNew
Application.EnableEvents = True
strCmt = "Edit: " & Format$(Now, "dd Mmm YYYY hh:nn:ss") & " by " & _
Application.UserName & Chr(10) & "Previous Text :- " & strOld
If Target(1).Comment Is Nothing Then
.AddComment
Else
xLen = Len(.Comment.Shape.TextFrame.Characters.Text)
End If
With .Comment.Shape.TextFrame
.AutoSize = True
.Characters(Start:=xLen + 1).Insert IIf(xLen, vbLf, "") & strCmt
End With
End With
ActiveSheet.Protect Password:="test"
End Sub