Страницы: 1
RSS
Запуск макроса при пересчете формулы я ячейке диапазона
 
Добрый день уважаемые форумчане, прошу Вашей помощи, туплю

Есть столбец В и С в которые вносятся значения.
В столбце А прописана формула, которая выполняет суммирование значений из ячеек в столбцах В и С, только при условии что в ячейках содержаться числа.

Необходимо чтобы при пересчете формулы в ячейке, столбца А, автоматически (макросом) проставлялась текущая дата и время в ячейку столбца D, в той строке, которой сработал пересчет формулы (при этом если дата уже есть в столбце D, ее нужно затереть на текущую)

Написал макрос, но он почему то при пересчете одной формулы, проставляет одинаковую дату на весь заданный диапазон А3:А100
Код
Private Sub Worksheet_Calculate()

Dim target As Range
Dim Cell As Variant
Set target = Range("A3:A100")

For Each Cell In target.Cells
If Not Intersect(Cell, Range("A3:A100")) Is Nothing Then
    
     Cell.Offset(0, 3).Value = Now
    End If
Next Cell

End Sub
 
Формула пересчитывется не сама по себе, что-то ее у этому толкает? Определите источник запуска и реагируйте на это изменение.
 
Цитата
pinguindell написал:
в той строке, которой сработал пересчет формулы
Формулы пересчитываются ВСЕ, а не выборочно.
Правильнее - настроить срабатывание макроса на изменение ячеек (Private Sub Worksheet_Change) в диапазоне "B3:C100".
Цитата
pinguindell написал:
Написал макрос, но он почему то при пересчете одной формулы, проставляет одинаковую дату на весь заданный диапазон А3:А100
У Вас макросом и задано: пробежаться в цикле по ячейкам диапазона "D3:D100" и вписать в каждую ячейку Now()-ую дату. Условие If...Then - лишнее, т.к. ВСЕГДА выполнится.
Изменено: Михаил Лебедев - 27.03.2020 07:05:40
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Страницы: 1
Наверх