поиск цели в VBA на определенной рабочей таблице (отключение расчета в других открытых файлах) - PullRequest
2 голосов
/ 20 октября 2011

У меня быстрый вопрос о том, как выполнить поиск цели в VBA на листе Excel.Я замечаю, что когда у меня открываются другие рабочие книги в том же сеансе Excel, поиск цели в рабочей книге / рабочей таблице, которую я пытаюсь запустить, занимает больше времени (полагаю, это потому, что Excel вычисляет другие открытые рабочие книги.

Есть ли способ отключить Excel от расчета других открытых книг?

Ответы [ 2 ]

0 голосов
/ 21 октября 2011

Также возможно обойти проблему несколькими способами (оба имеют недостатки)1. Установите для свойства .EnableCalculation значение False для всех рабочих листов, которые не участвуют в формулах, связывающих целевую ячейку поиска цели с изменяемой ячейкой поиска цели (включая рабочие таблицы в других книгах).(Этот метод используется в моем продукте FastExcel для режима расчета Active Workbook.)2. Напишите свою собственную процедуру поиска целей VBA и используйте Range.Calculate для расчета всех ячеек в пути между двумя ячейками поиска целей или, если все на одном листе, используйте Worksheet.calculate

0 голосов
/ 21 октября 2011

Расчет в Excel выполняется на уровне приложения (все открытые рабочие книги).Таким образом, вы должны переключить расчет в режим ручного расчета, запустить поиск цели, а затем переключиться обратно на автоматический или использовать Application.Calculate.Даже в этом случае только тот факт, что дополнительные рабочие книги открыты, увеличивает нагрузку на Excel и, следовательно, будет медленнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...