Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target
If Not Intersect(cell, Range("R7:AC10000")) Is Nothing Then
If IsEmpty(Target) Then
Else
With Target(1, 0)
a = Target.Row
b = 10
Sheets("Свод").Cells(a, b) = Format(Now, "dd.mm.yyyy")
End With
End If
End If
Next cell
End Sub
Как вышеизложенное исполнить с Worksheet_Calculate()
поскольку при изменении по ссылке формулы Worksheet_Change не работает
Событие Worksheet_Calculate() реагирует только на формулы. Вы это знаете?
Если пользователь будет вносить изменения в ячейку, то событие Worksheet_Calculate() не запустится.
Вот я и пытаюсь сделать что бы то что написано после Worksheet_Change выполнялось и не получается, если меняем Worksheet_Change на Worksheet_Calculate() то дальше не работает
Вам нужно, чтобы запускался макрос в каких случаях:
1) когда пересчитываются формулы
2) когда пользователь вносит изменения в ячейки?
Когда пользователь вводит данные на другом листе в этом листе формула ВПР(E7;Январь!B$2:D$21;3;0) плучает эти данные и в соседней ячейке данный макрос ставит дату
Никак не сделать с помощью Worksheet_Calculate(), т.к. не известно, в какой ячейке произошёл пересчёт формул.
Если использовать Worksheet_Calculate(), вам придётся писать макрос, который будет все данные обрабатывать, а не только те, где реально произошло изменение.
Вот это то и не получается сделать
Написал вам письмо на почту. Написал именно на почту, а не на форум.
Отправил по почте
письма нет
Undelivered Mail Returned to Sender (Письмо не может быть доставлено и возвращено отправителю)
не хочет почемуто рамблер отправлять
Вроде ушло
Ответил вам на почту.