Страница 1 из 1
Excel VBA 2007 - добавление данных в существующее примечание
Добавлено: 19 май 2009, 07:11
burref
Добрый день!
Помогите, пожалуйста, необходимо написать скрипт на VBA с помощью которого в существующее примечание добовлялись бы новые данные выше предыдущего и при этом желательно с отличающимся цветом шрифта от предыдущих сообщений.
Заранее спасибо.
Re: Excel VBA 2007 - добавление данных в существующее примечание
Добавлено: 19 май 2009, 11:04
mc-black
Насчет выделения цветом пока не знаю, как сделать, а вот этот макрос
Код: Выделить всё
Option Explicit
Sub AddComments()
Dim cmt As Comment
For Each cmt In ThisWorkbook.Worksheets(1).Comments
cmt.Text Chr(10) & "qwerty", Len(cmt.Text)
Next cmt
End Sub
Добавляет к каждому комментарию на первом листе с новой строки текст "qwerty". Проверял в Office 2003, поэтому не известно, будет ли работать в Office 2007.
Re: Excel VBA 2007 - добавление данных в существующее примечание
Добавлено: 19 май 2009, 11:36
burref
Спасибо, все добавило и в 2007.
А можно как-нибудь реализовать чтобы текст вставлялся не в конец примечания, а в начало?
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Попытался ее применить не ко всем примечаниям, а только к конкретному после чего выдало ошибку. Подскажите где я допустил ошибку.
Option Explicit
Function ChangeBankomat()
Dim iComment As Comment
'Добавляем комментарии
iComment = ThisWorkbook.Sheets(n_FilialsPosle).Cells(n_FindCity + 1, "G").Comments
iComment.Text "- перемещен по распоряжению №" & txtNumberDoc & " от " & txtDataDoc & Chr(10), 0
iComment.Shape.TextFrame.AutoSize = True
iComment.Shape.Height = iComment.Shape.Height + 10
iComment.Shape.Width = iComment.Shape.Width + 5
End Function
Re: Excel VBA 2007 - добавление данных в существующее примечание
Добавлено: 19 май 2009, 12:49
mc-black
А можно как-нибудь реализовать чтобы текст вставлялся не в конец примечания, а в начало?
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Подскажите где я допустил ошибку.
Код: Выделить всё
Set iComment = ThisWorkbook.Sheets(n_FilialsPosle).Cells(n_FindCity + 1, "G").Comments(1)
'...
Set iComment = Nothing
Re: Excel VBA 2007 - добавление данных в существующее примечание
Добавлено: 19 май 2009, 12:58
burref
Спасибо, я поставил 0
А еще объясните как привязать это все к примечанию конкретной ячейки.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Пока писал уже ответили

. Спасибо, сейчас проверю
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Вот что получилось, но он меняет во всем примечании цвет, а нужно чтобы каждая строчка была своего цвета.
Set iComment = ThisWorkbook.Sheets(n_FilialsPosle).Cells(n_FindCity + 1, "G").Comment
With iComment
.Text "- перемещен по распоряжению №" & txtNumberDoc & " от " & txtDataDoc & iComment.Text
.Shape.TextFrame.Characters.Font.Color = 4
.Shape.TextFrame.AutoSize = True
.Shape.Height = iComment.Shape.Height + 10
.Shape.Width = iComment.Shape.Width + 5
End With
Set iComment = Nothing