Worksheet_Change во время копирования / вырезания / вставки для захвата всех ячеек - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть код, который генерирует запись / комментарий каждый раз, когда ячейка изменяется, но он не делает то же самое для нескольких ячеек, когда они вставляются. Как мне получить этот код для добавления комментария для любой ячейки, которая изменяется индивидуально или в функции вставки нескольких ячеек?

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...