V пишет:
Код |
---|
Rows( "2:2" ).SpecialCells(xlCellTypeComments).SpecialCells(xlCellTypeLastCell).Address |
одной строчкой дает последнюю ячейку в UsedRange, но не в строке :)
Если реально нужен комментарий
из последней заполненной ячейки в строке, и в последней заполненной в строке ячейке
точно есть этот комментарий, то
Код |
---|
Примечание.Text = Sheets("Предмет1").Cells(1, Columns.Count).End(xlToLeft).Comment.Text |
Если всё же есть где-то вдруг разрывы в ячейках с комментариями:
Код |
---|
Sub GimmeLastCommentInRow()
Dim a As Range
On Error Resume Next
Set a = Rows("1:1").SpecialCells(xlCellTypeComments) ' диапазон ячеек с комментариями
If Err.Number <> 0 Then MsgBox "No comments!": Exit Sub ' вдруг их нет
On Error Goto 0
If a.Areas.Count > 1 Then
Set a = a.Areas(a.Areas.Count) ' последняя Area
End If
Set a = a.Cells(a.Count) ' Последняя ячейка в последней Area (или просто в единственной Area)
MsgBox a.Comment.Text ' комментарий в последней ячейке
End Sub |