Страницы: 1
RSS
Calculate диапазонов (столбцов) с разных листов, пересчет столбцов с разных листов
 
Добрый день, коллеги, давно читаю форум, но всегда находил решения... Сейчас к сожалению не смог, решил зарегится и задать гуру и экспертам

достаточно близкая тематика https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=145287&a...
но не совсем то

Суть проблемы:

Есть листы 1, 2, 3, Столбец А ввод данных.
Включен ручной пересчет
Необходимо выполнить расчеты в столбце B на листах 1,2,3. Но некоторые формулы столбца B на листе 1 ссылаются на B листов 2,3, Столбец B на листе 2 ссылается на столбец B листов 1,3 и т.д. при этом тут нету цикличности расчетов (в приложенном файле более наглядно)

Необходимо пересчитать столбец B на листах 1,2,3 таким образом, чтобы был не последовательный пересчет типа

    Лист1.Columns(2).Calculate
    Лист2.Columns(2).Calculate
    Лист2.Columns(2).Calculate

Хочется сделать что-то вроде
   Columns("B:B").Select
   Sheets(Array("Metal_1", "Metal_2, "Metal_3")).Select
   Selection.Calculate

Использование последовательного пересчета приводит не совсем к корректным данным, потому что происходит последовательное обновление данных
Т.е. кратко необходимо чтобы выделенные столбцы листов пересчитывались синхронно, а не последовательно


Прикладываю файл...  как воспроизвести мою проблему, вводим новые данные в ячейку A2 на каждом листе, последовательно считаем по листам (есть кнопка макрос) Результат будет корректным если 2 раза нажимать, но если структура сложнее то надо множество раз)

P.s. Использование Calculate во всей книги очень тяжело (большой объем данных), необходимо использовать столбцы, потому что необходим последовательный пересчет по годам
 
Цитата
Mikhail Mad написал:
выделенные столбцы листов пересчитывались синхронно
нереально. Все вычисления производятся по цепочке зависимостей, которая хранится в файле. Эту цепочку Excel определяет сам и отменить пересчет какой-то части этой цепочки невозможно, если от неё зависит результат рассчитываемой в данный момент формулы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
*Mikhail Mad, написал в личку*
По вопросу: Разбираться в ваших цепочках времени и желания нет - рекомендую разместить заказ в платной ветке.
Другой путь: заменить все тяжёлые формулы на макросы по кнопке или событию и использовать пересчёт всей книги Application.Calculate
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
Цитата
Mikhail Mad написал:
выделенные столбцы листов пересчитывались синхронно
нереально. Все вычисления производятся по цепочке зависимостей, которая хранится в файле. Эту цепочку Excel определяет сам и отменить пересчет какой-то части этой цепочки невозможно, если от неё зависит результат рассчитываемой в данный момент формулы.
Не отменить, а наоборот пробежаться полностью по этой цепочке зависимости

Сейчас используя структуру    
   Лист1.Columns(2).Calculate
   Лист2.Columns(2).Calculate
   Лист3.Columns(2).Calculate
я нарушил эту последовательность

Вопрос в том можно ли как-то сделать Union диапазонов с разных листов и попросить сделать calculate с выстраиванием всей цепочки самому Excel?

2 Jack Famous
Спасибо большое за ответ, да, в целом в моих разбираться есть смысл в платном разделе (в целом готов), если есть решения приведенного типового примера средствами Excel
Страницы: 1
Наверх