Всем добрый день, нужна помощь, здесь на нашел код. Помогите его переделать, что бы он реагировал на определенный диапазон изменений и самое главное что изменением является АВТОМАТИЧЕСКИЙ пересчет формулы. Есть два листа ТХ и ВКХ - они являются рабочими туда ежедневно вносятся изменения, а на листе СВОД - на основании данных выводится отчет. И для контроля изменений когда последний раз менялись сводные данные по каждому объекту ЗВО и ВКС - нужно что бы в столбце P (ДАТА изменения данных) напротив строки в которой изменились данные и ставилась дата и время изменения хоть. Ссылка на код который нашел http://www.planetaexcel.ru/techniques/6/44/
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target 'проходим по всем измененным ячейкам
If Not Intersect(cell, Range("A2:A100")) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100
With cell.Offset(0, 1) 'вводим в соседнюю справа ячейку дату
.Value = Now
.EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
End With
End If
Next cell
End Sub
У вас событие пересчет формул Worksheet_Calculate, а не изменение ячейки Worksheet_Change. Можете попробовать сохранять сводную в массив при открытии книги, затем на каждый пересчет формул сравнивать старые значения с новыми.