Страницы: 1
RSS
Поиск последней ячейки с примечанием в определенной строке.
 
В 1 строке имеются ячейки с датами этого месяца и в каждую ячейку ставится примечание каждый день. Я хочу создать пользовательскую форму, где будет показан текст последнего примечания.
Код
Примечание.Text = Sheets("Предмет1").Rows(1).Find(Comment.Value).End(xlToRight).Comment
Так не получается.
 
вариант от ученика.
Код
Sub VVV()
Dim S As Range, a As Variant
   For Each S In Rows("2:2").SpecialCells(xlCellTypeComments)
   a = S.Address
   Next
    MsgBox a
End Sub 
или одной строчкой
Rows("2:2").SpecialCells(xlCellTypeComments).SpecialCells(xlCellTypeLastCell).Address
Изменено: V - 25.09.2014 17:37:13
 
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
F1 творит чудеса
 
Спасибо Всем еще раз огромное! Максим Ваш код последний делает то, что нужно! Как всегда выручаете :)
Страницы: 1
Наверх