Добрый день!
Взял пример макроса из приемов, который заносит в примечание дату и время изменения ячейки.
Вот код:
Подскажите, как сделать чтобы невозможно было удалить примечание?
Взял пример макроса из приемов, который заносит в примечание дату и время изменения ячейки.
Вот код:
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range) Dim NewCellValue$, OldComment$ Dim cell As Range 'если ячейка не в отслеживаемом диапазоне, то выходим If Intersect(Target, Range("B3:B5")) Is Nothing Then Exit Sub 'перебираем все ячейки в измененной области For Each cell In Intersect(Target, Range("B3:B5")) If IsEmpty(cell) Then NewCellValue = "Ячейка очищена" 'фиксируем очистку ячейки Else NewCellValue = cell.Formula 'или ее содержимое End If On Error Resume Next With cell OldComment = .Comment.Text & Chr(10) .Comment.Delete 'удаляем старое примечание (если было) .AddComment 'добавляем новое и вводим в него текст .Comment.Text Text:=OldComment & Application.UserName & " " & _ Format(Now, "MM.DD.YY h:MM:ss") & " : " & NewCellValue .Comment.Shape.TextFrame.AutoSize = True 'делаем автоподбор размера .Comment.Shape.TextFrame.Characters.Font.Size = 8 End With Next cell End Sub |