Как получить текст примечания в ячейку?
Что умеет Excel
В общем не совсем обычная задачка: есть лист с данными по сотрудникам. На нем в ячейках множество примечаний. Допустим, в примечания заносится информация о сотруднике. И вот понадобилось(даже не спрашивайте зачем
) информацию из примечания вписать в ячейки. Кошмар! Как сделать-то? Ячеек несколько сотен, не выписывать же вручную. Что самое интересное — сделать это совсем просто:
Function Get_Text_from_Comment(rCell As Range) On Error Resume Next Get_Text_from_Comment = rCell.Comment.Text End Function
Function Get_Text_from_Comment(rCell As Range)
On Error Resume Next
Get_Text_from_Comment = rCell.Comment.Text
End FunctionСинтаксис функции:
=Get_Text_from_Comment(A1)
A1 — ячейка с примечанием, текст которого необходимо получить. Если комментарий в ячейке отсутствует, то функция вернет пусто.
Чтобы Вас не пугало использование кода — почитайте статью Что такое функция пользователя(UDF)? и все у Вас получится. Если вкратце, то необходимо создать стандартный модуль и в него вставить вышеприведенный текст. А затем эту функцию можно просто вызвать из Диспетчера функций, отыскав её в категории «Определенные пользователем».
Еще я решил эту функцию чуть доработать, чтобы отсечь имя пользователя в комментариях, если оно есть и если оно не нужно:
Function Get_Text_from_Comment(rCell As Range) As String Dim sTxt As String On Error Resume Next sTxt = rCell.Comment.Text Get_Text_from_Comment = Mid(sTxt, InStr(sTxt, ":") + 2) End Function
Function Get_Text_from_Comment(rCell As Range) As String
Dim sTxt As String
On Error Resume Next
sTxt = rCell.Comment.Text
Get_Text_from_Comment = Mid(sTxt, InStr(sTxt, ":") + 2)
End Function
Здесь все так же. Просто указываете внутри функции ссылку на ячейку.
Также см.:
→Что такое функция пользователя(UDF)?
→Как скопировать картинку из примечания?
→Создание примечаний

2885
