Добавить примечание (комментарий) к ячейке из кода VBA Excel. Методы Range.AddComment и Comment.Text. Редактирование примечания (комментария).
Добавление примечания
Примечание (комментарий) к ячейке создается в VBA Excel с помощью метода AddComment объекта Range.
Метод Range.AddComment
Метод Range.AddComment добавляет примечание в диапазон, описывающий одну ячейку. При попытке добавить комментарий к диапазону из нескольких ячеек, происходит ошибка. Ошибка генерируется и в том случае, если примечание уже есть в ячейке.
Синтаксис метода AddComment объекта Range:
1 |
Expression.AddComment [Text] |
- Expression — выражение (переменная), представляющее объект Range.
- Text — необязательный параметр, задающий текст примечания.
Если параметр Text не указан, будет добавлено пустое окно комментария.
Пример добавления примечания
Добавление примечания к ячейке «A12» с текстом «Первый комментарий»:
1 |
Range("A12").AddComment "Первый комментарий" |
Добавление и замена текста
Для добавления текста в примечание или для его замены в VBA Excel используется метод Text объекта Comment.
Метод Comment.Text
Метод Comment.Text задает или возвращает текст комментария.
Синтаксис метода Text объекта Comment:
1 |
Expression.Text [Text], [Start], [Overwrite] |
Все параметры метода Comment.Text на сайте разработчиков обозначены как необязательные.
Параметр | Описание |
---|---|
Text | Добавляемый текст. |
Start | Номер символа, начиная с которого будет добавлен текст. Если этот аргумент опущен, весь существующий в комментарии текст будет удален. |
Overwrite | False — текст добавляется; True (по умолчанию) — текст перезаписывается. |
Примеры добавления текста
Примеры добавления и редактирования текста в примечании из кода VBA Excel:
1 2 3 4 5 6 7 8 9 10 11 |
Sub Primer() 'Создание пустого примечания Range("A1").AddComment 'Добавление текста в примечание MsgBox Range("A1").Comment.Text("Первый комментарий") 'Замена подстроки в тексте примечания MsgBox Range("A1").Comment.Text("Второй комментарий") MsgBox Range("A1").Comment.Text(Replace(Range("A1").Comment.Text, "Второй", "Третий")) 'Добавление текста в комментарий MsgBox Range("A1").Comment.Text(" обновленный", 19) End Sub |
Аргументы метода Comment.Text заключены в круглые скобки, так как мы возвращаем полученный текст в информационное окно MsgBox. Также, круглые скобки необходимы при использовании для отображения текста метода Debug.Print:
1 |
Debug.Print Range("A1").Comment.Text("Еще один ", , False) |
Удаление примечания из ячейки
Метод Comment.Delete удаляет комментарий из ячейки:
1 |
Range("A1").Comment.Delete |