Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Динохромный


Contributor


Сообщения: 712
Благодарности: 322

Профиль | Отправить PM | Цитировать


Iska, спасибо за развернутый и проработанный ответ. Попробовал ваш способ, и вся моя решимость не использовать VBA растворилась в воздухе)))
Строка "Set objTargetRange = Me.Range("D2:D20")" работает.
Расчет достаточно сложный, но структурированный (однотипные расчетные листы и несколько сводных расчетов - максимум 3 на файл), поэтому вашу программу легко удалось адаптировать к конкретной таблице.

Практически ничего менять не пришлось, адаптировал следующее:
1. Событием сделал изменение в документе
Код: Выделить весь код
Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
2. Проверяемым диапазоном сделал открытый лист (с рабочих листов нет ссылок на другие листы)
Код: Выделить весь код
Set objTargetRange = ActiveSheet.Range("e2:e20")
3. Добавил проверку, что открытый лист не является сводным
Код: Выделить весь код
If Not left(ActiveSheet.Name,7) = "Сводная" Then

okshef, Iska еще раз спасибо за помощь. Всегда приятно, когда кто-то другой делает за тебя твою работу , особенно когда времени катастрофически нет.

Отправлено: 09:10, 09-05-2013 | #6