Несколько рекомендаций, как оптимизировать скорость сортировки в VBA для больших массивов данных:
- Использовать алгоритм быстрой сортировки (Quicksort). 23 Он считается одним из самых быстрых и эффективных. 3
- Уменьшить количество обращений к объектам. 1 Значение ячейки внутри цикла нужно читать из переменной, а саму переменную инициализировать из объекта до цикла. 1
- Освобождать память. 1 Для этого следует освобождать объекты (например, с помощью команды Set MyObj = Nothing). 1
- Если одна ячейка читается или пишется больше 1–2 раз, на время заменять её переменной. 1
- Использовать свойство по умолчанию. 1 Например, если записывается в ячейку, свойство Value в данном случае является по умолчанию, его можно не писать. 1
- Хранить код в надстройках с расширением .XLA. 1 В них код полностью компилирован и сразу запускается на исполнение. 1
Эффективность сортировки зависит также от размера массива, типа данных, метода сортировки, компилятора и среды программирования. 4