Создание списка примечаний рабочего листа
Все имеющиеся на рабочем листе примечания можно вывести в виде отдельного списка, например, в столбце С. Соответствующий макрос выглядит следующим образом (листинг 3.37).
Листинг 3.37. Перечень примечаний в отдельном списке (вариант 1)
Sub ListOfComments()
Dim cell As Range
Dim rgCells As Range
Dim intRow As Integer
' Получение всех ячеек с примечаниями
On Error Resume Next
Set rgCells = Selection.SpecialCells(xlComments)
If rgCells Is Nothing Then
' Примечаний нет
Exit Sub
End If
' Проходим по всем ячейкам диапазона
For Each cell In rgCells
' Вывод примечаний в ячейку столбца "C"
intRow = intRow + 1
Cells(intRow, 3) = cell.Comment.Text
Next
End Sub
К аналогичному результату (вывод примечаний в виде списка в столбце С) приведет написание и использование такого макроса (листинг 3.38).
Листинг 3.38. Перечень примечаний в отдельном списке (вариант 2)
Sub ListOfComments1()
Dim cell As Range
Dim strFirstAddress As String
Dim intRow As Integer
' Получение всех ячеек выделения, в которых есть примечания
Set cell = Cells.Find("*", LookIn:=xlComments)
If Not cell Is Nothing Then
' Сохранение адреса первой найденной ячейки _
(для предотвращения зацикливания поиска)
strFirstAddress = cell.Address
Do
' Вывод текста в столбец "C"
intRow = intRow + 1
Cells(intRow, 3) = cell.Comment.Text
' Продолжение поиска
Set cell = Cells.FindNext(cell)
Loop While Not cell Is Nothing And _
cell.Address <> strFirstAddress
End If
End Sub
Следует отметить, что столбец С взят только для примера.