Я запускаю макрос, который открывает файл, ссылающийся на тот, с которым я работаю, вставляет соответствующие элементы в виде значений в отдельный лист и выводит книгу из этого листа.Delay Macro Run, Excessive Countifs
Причина, по которой я делаю это, состоит в том, что существует несколько тысяч countif, averageifs и интенсивный процессор.
Программа запускается от начала до конца, просто отлично. Проблема в том, что только несколько элементов вычисляются до операции копирования/вставки, и поэтому я получаю много ошибок #VALUE на копии листа с формулами - даже если формулы правильно вычисляются при дальнейшем осмотре.
Я подозреваю, что правильный ход действий - отложить прогон до тех пор, пока лист не закончит вычисление. Любая помощь будет оценена по достоинству.
EDIT: Я пробовал всевозможные приложения. Калькуляции и ничего не работают. Обычно ссылки и элементы вычисляются, если я открываю их вручную и позволяю процессору выполнять свою работу. Единственными пунктами, которые вычисляются, являются те, которые содержат «COUNTA» где-то в нем. Возможно ли, что методы расчета приложений не работают с Countifs и т. П.?
В качестве быстрого теста вы попытались отключить автокалькуляцию электронной таблицы в начале макроса и включить его в конце (или выключить его, прежде чем закрыть исходные данные)? 'Application.Calculation = xlCalculateManual'. Также попробуйте отключить обновление экрана - это может помочь. 'Application.ScreenUpdating = False' – BruceWayne
Можете ли вы опубликовать свой код, чтобы мы могли точно видеть, что происходит. @ user3578951 предложение, вероятно, правильный ответ, но может потребоваться тонкая настройка на основе того, как вы это делаете. – Degustaf
@ user3578951 - Поскольку я интерпретирую этот вопрос ... OP указал копии кода до того, как лист завершил вычисление, как бы отключение вычисления устранить проблему? – Davesexcel