Россия

Комментарии к ячейкам – добавление, удаление и получение их значения

Дата публикации: 29.05.2015

У ячейки на листе Excel имеется возможность добавления комментария

Для работы с комментариями через VBA используются следующие методы и свойства

AddComment — Создание нового комментария к диапазону или ячейке

Worksheets (1).Range ( «B2»).AddComment «Комментарий к ячейке»

Удаление комментария

Для удаления комментариев с листа можно использовать следующие методы:

ActiveSheet.Comments (3). Delete

Worksheets (1).Range ( «B3»).ClearComments

Selection.SpecialCells (xlCellTypeComments).delete — удаление всех комментариев из книги

Редактирование комментария ячейки

Метод Text — Устанавливает текст комментария.

выражение .Text (Text, Start, Overwrite)

выражение переменной, которая представляет собой комментарий объекта

Text – текст добовляемого комментария, необязательный аргумент типа Variant

Start — Характер номер, по которому добавлен текст будет помещен.

Если этот аргумент опущен, то любой существующий текст в комментарий будет удален. необязательный аргумент типа Variant

Overwrite - True , чтобы заменить существующий текст. Значение по умолчанию значение False (текст вставляется).

Author — Возвращает или задает автора комментария.

Этот пример удаляет все комментарии добавил Иванов на активном листе.

For Each c in ActiveSheet.Comments

If c.Author = «Иванов» Then c.Delete

Next

Visible — Возвращает или задает логический значение, которое определяет, является ли объект видимым.

Для перебора комментариев в выбранном диапазоне или листе можно использовать следующие методы

Next – возвращает следующий комментарий

Previous – возвращает предыдущий комментарий

Примечание: Этот метод работает только на одном листе. Используя этот метод, на последнем комментарии на листе возвращается

Null (но не следующий комментарий на следующем листе).

Пример кода на VBA:

' Устанавливает комментарий ячейки столбца A

For ZNum = 1 To 15

Range ( «A» & ZNum).AddComment

Range ( «A» & ZNum).Comment.Text Text:=“ Комментарий № » & ZNum

Next

'Выводим в сообщении MSGBOX текст каждого второго комментария

For ZNum = 10 To 1 Step -2

Range ( «A» & ZNum).Comment.Previous.Shape.Select True MsgBox (Range ( «A» & ZNum).Comment.text)

Next

'Удаление каждой второй

For yNum = 1 To 10 Step 2

Range ( «A» & yNum).Comment.Next.Shape.Select True

Selection.Delete

Next

Другие малоиспользуемые свойства Comment: Application, Creator, Parent, Shape