Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как доработать макрос на примечания? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как доработать макрос на примечания? (Макросы/Sub)
Как доработать макрос на примечания?
Александр Дата: Понедельник, 20.04.2015, 00:54 | Сообщение № 1
Группа: Гости
Уважаемые знатоки Exel! Подскажите начинающему Exelисту изменить макрос для добавления примечаний

Вот этот макрос:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NewCellValue$, OldComment$
Dim cell As Range

'если ячейка не в отслеживаемом диапазоне, то выходим
If Intersect(Target, Range("B3:B5")) Is Nothing Then Exit Sub

'перебираем все ячейки в измененной области
For Each cell In Intersect(Target, Range("B3:B5"))
If IsEmpty(cell) Then
NewCellValue = "Ячейка очищена" 'фиксируем очистку ячейки
Else
NewCellValue = cell.Formula 'или ее содержимое
End If
On Error Resume Next

With cell
OldComment = .Comment.Text & Chr(10)
.Comment.Delete 'удаляем старое примечание (если было)
.AddComment 'добавляем новое и вводим в него текст
.Comment.Text Text:=OldComment & Application.UserName & " " & _
Format(Now, "MM.DD.YY h:MM:ss") & " : " & NewCellValue
.Comment.Shape.TextFrame.AutoSize = True 'делаем автоподбор размера
.Comment.Shape.TextFrame.Characters.Font.Size = 8
End With
Next cell
End Sub
[/vba]

Как зделать так, чтобы макрос работал только с теми ячейками, которые обновляются автоматически с помощью формулы или ссылки?

[moder]1. Прочитать правила форума
2. Желательно зарегистрироваться
3. Оформить код тегом vba с помощью кнопки # (что сделал вместо Вас я!)
4. Приложить файл пример![/moder]


Сообщение отредактировал DJ_Marker_MC - Понедельник, 20.04.2015, 10:55
 
Ответить
СообщениеУважаемые знатоки Exel! Подскажите начинающему Exelисту изменить макрос для добавления примечаний

Вот этот макрос:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NewCellValue$, OldComment$
Dim cell As Range

'если ячейка не в отслеживаемом диапазоне, то выходим
If Intersect(Target, Range("B3:B5")) Is Nothing Then Exit Sub

'перебираем все ячейки в измененной области
For Each cell In Intersect(Target, Range("B3:B5"))
If IsEmpty(cell) Then
NewCellValue = "Ячейка очищена" 'фиксируем очистку ячейки
Else
NewCellValue = cell.Formula 'или ее содержимое
End If
On Error Resume Next

With cell
OldComment = .Comment.Text & Chr(10)
.Comment.Delete 'удаляем старое примечание (если было)
.AddComment 'добавляем новое и вводим в него текст
.Comment.Text Text:=OldComment & Application.UserName & " " & _
Format(Now, "MM.DD.YY h:MM:ss") & " : " & NewCellValue
.Comment.Shape.TextFrame.AutoSize = True 'делаем автоподбор размера
.Comment.Shape.TextFrame.Characters.Font.Size = 8
End With
Next cell
End Sub
[/vba]

Как зделать так, чтобы макрос работал только с теми ячейками, которые обновляются автоматически с помощью формулы или ссылки?

[moder]1. Прочитать правила форума
2. Желательно зарегистрироваться
3. Оформить код тегом vba с помощью кнопки # (что сделал вместо Вас я!)
4. Приложить файл пример![/moder]

Автор - Александр
Дата добавления - 20.04.2015 в 00:54
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как доработать макрос на примечания? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!