Основные принципы сохранения быстродействия макросов VBA:
  1. Если пользуетесь макрорекодером, то всегда проверяйте за ним написанный код.
  2. В начале каждого модуля объявите "Option Explicit", чтобы переменные не терялись.
  3. Для сопоставления адресов ячеек и элементов массивов объявите "Option Base 1".
  4. Всегда загружайте данные из ячеек в массив (лучше не циклом, а присвоением диапазона ячеек); обработку данных выполняйте в массиве (скорость выполнения по сравнению с перебором ячеек то 5 до 68 раз быстрее).
  5. Объявляйте переменные массивов с круглыми скобками; для присвоения динамическому массиву списка значений - задайте тип "Variant" (скорость обработки данных внутри переменной массива по сравнению с обычной переменной в 18 раз быстрее).
  6. Откажитесь от метода "Select" (скорость обращения напрямую к объектам в 6 раз быстрее).
  7. Перед выгрузкой значений из массива в ячейки отключайте группировку (ячейки должны быть видимы).
Контакты

Достижения

Все достижения (5)

Наибольший вклад в теги

Все теги (81)

Лучшие ответы пользователя

Все ответы (216)

Лучшие вопросы пользователя

Все вопросы (6)