Есть два алгоритма как сделать чтобы они работали вместе?
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
With Target
If .Count < 3 Then Call CC(Target)
If .Count < 3 Then Exit Sub
On Error Resume Next
If CDate(.Value) Then
Select Case .Column
Case 1
Call bb
End Select
End If
End With
End Sub
Код
Sub CC()(Target As Range)
Dim NewCellValue$, OldComment$
Dim cell As Range
On Error Resume Next
'если ячейка не в отслеживаемом диапазоне, то выходим
If Intersect(Target, Range("K7,Q7,AF7")) Is Nothing Then Exit Sub
'перебираем все ячейки в измененной области
For Each cell In Intersect(Target, Range("K7,Q7,AF7"))
If Target.HasFormula = False Then cell.Comment.Delete
If Target.HasFormula = False Then Exit Sub
NewCellValue = cell.Formula 'или ее содержимое
With cell
.Comment.Delete 'удаляем старое примечание (если было)
.AddComment 'добавляем новое и вводим в него текст
.Comment.Text Text:=NewCellValue
.Comment.Shape.TextFrame.AutoSize = True 'делаем автоподбор размера
.Comment.Shape.TextFrame.Characters.Font.Size = 8
End With
Next cell
End Sub
если под "алгоритмами" вы подразумеваете приведенные процедуры, то как минимум
Код
If .Count < 3 Then Call CC (Target)
Код
Sub CC(Target As Range)
Но, честно говоря, смысл сех действий не понятен, ибо чтоб увидеть примечание нужно навести курсор на ячейку. А без макроса - еще и шелкнуть мышью - это мегасложно)
Dima S написал: Но, честно говоря, смысл сех действий не понятен
Спасибо - теперь заработало - понял ошибку - не знал как перейти в процедуру правильно. Тут идея такая есть строка которая содержит различные расчеты в некоторых ячейках возможна простая формула например =3+5 В ячейке она все показывает итоговое 8 и как образовалась. Потом мне надо эту строчку сохранять в конец списка как Журнал (историю) и там уже формулы не нужны и работать правильно не будут - я сохраняю из чего состояла 8 в примечание. Потому что постоянно забываю это сделать в ручную. А исходная строка постоянно обновляется.
Подскажите как по оптимальнее сделать действие хоть в ручную хоть макросом - скопировать строку (только значения и примечания) в конец списка. Пока делаю отдельно = с начало копирую значения - а потом только примечания.
Sanja написал: Приложите файл-пример. Как есть - Как надо
Хотел для начало попросить совета - как само событие на обработку сделать удобное, чтобы на всех листах работало. Пока придумал "Макрос начинает работать при выделении всей строки с определенным номером например" Подскажите есть ли такая обработка или может предложите что-то еще как это обустроить. Делать кнопку на каждый лист как то громоздко. Надо например 7 строку скопировать в конец листа - значения и примечания.
igorbych, Ваши последние вопросы никак не связаны с названием Темы. На этом форуме правило такое Один вопрос - Одна тема. Создайте новую тему, дайте ей соответствующее название
Согласие есть продукт при полном непротивлении сторон