Извлечение текста комментариев в ячейку
Добрый день, товарищи! Сегодня поговорим о том, как работать с комментариями в ячейке.
Все мы знаем, что примечание добавляется очень просто - щелчок на ячейке правой кнопкой мыши и выбор пункта "Добавить примечание".
Как быть в случае если текст уже есть (на листе, в файле) и его нужно добавить как комментарий или наоборот - извлечь текст комментариев и поместить их в ячейку на листе?
Добавление комментариев по условию мы рассматривали в этой статье.
Добавление комментария в ячейку с помощью Vba.
Для понимания сначала рассмотрим простой пример добавления комментария. О том как вставлять модули в нашу книгу мы говорили здесь. Далее я буду приводить только примеры кода.
Sub add_comment()
With Worksheets(1).Range("a2").AddComment
.Visible = False
.Text "просмотрел " & Date
End With
End Sub
Что происходит в этом случае - на листе 1 в диапазоне ячеек A2 добавляется комментарий, далее зовутся свойства Visible (комментарий будет скрыт до наведения), Text собственно сам текст примечания, параметр Date проставит текущую дату.
После выполнения макроса получится вот это.
Удобно, но как быть если нужно вставить комментарий для нескольких ячеек или области? Изменим код.
Sub add_comments()
For xNum = 1 To 10
Range("A" & xNum).AddComment
Range("A" & xNum).Comment.Text Text:="Комментарий " & xNum
Next
End Sub
Этот код добавит примечание "Комментарий" ко всем ячейкам от А1 до А10.
Извлечение текста комментария в ячейку
Для извлечения текста комментария в ячейку воспользуемся пользовательской функцией.
Function GetComment(rCell As Range) As String
GetComment = rCell.Comment.Text
End Function
Всё максимально просто - объявили функцию, указали свойство, присвоили переменной значение содержащихся в ячейке данных.
Текст ячейки в комментарий
Sub CellTextToComment()
Dim c As Range
If TypeName(Selection) <> "Range" Then Exit Sub
For Each c In Selection
c.Comment.Text Text:=c.Text
Next c
End Sub
Надеюсь, был полезен, товарищи, и извлечение текста комментариев в ячейку не станет для вас проблемой.
Конечно, код можно усовершенствовать - дерзайте! Если что - вот тут хорошая статья, может вам пригодиться.
Всем удачи!