Excel VBA: как переопределить расчет листа с помощью связанного с ним события? - PullRequest
0 голосов
/ 16 февраля 2012

в событии Worksheet_Calculate моего листа (запускается по SHIFT + F9), мне нужно переопределить процесс расчета. Точнее, я хочу отключить расчет листа по умолчанию, чтобы заменить его на какой-то пользовательский расчет. Мне нужно вычислить некоторые вещи, затем загрузить некоторые вещи между ними, затем вычислить некоторые другие ячейки и т. Д. Я не хочу, чтобы Excel пытался вычислить все, потому что 1. это занимает некоторое время 2. это бесполезно в моем процессе

Возможно ли это?

1 Ответ

1 голос
/ 16 февраля 2012

Один из подходов - переключиться в режим ручного расчета в событии Worksheet_Calculate, (Application.Calculation = xlManual) выполнить пользовательский расчет и т. Д., А затем переключиться обратно на автоматический расчет (Application.Calculation = xlAutomatic).Вам также необходимо установить для Application.EnableEvents значение false в начале, а затем вернуться к значению true в конце, чтобы избежать повторных вызовов Worksheet_Calculate

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