Методы объектов
Один из самых действенных способов ускорить работу макросов – использование встроенных методов для объектов Excel. Эти функции скомпилированы и максимально оптимизированы, поэтому они заведомо в сотни раз быстрее любых, даже качественных алгоритмов, прогоняемых через интерпретатор VBA.
К примеру, необходимо отсортировать некий диапазон. Можно на VBA реализовать «быструю сортировку», но надо ли? Разумеется, гораздо быстрее с задачей справится метод Sort для объекта типа Range.
Ниже предлагается небольшая подборка наиболее часто встречающихся задач, для которых нет необходимости писать изощрённые решения. Ибо программисты Microsoft уже сделали за Вас эту работу.
К преимуществам такого подхода относится не только скорость программы. Но и быстрота разработки Excel-приложения и читаемость кода.
Задача | Тернистый путь | Лёгкий путь |
---|---|---|
Сортировка диапазона | Реализация какого-либо из быстрых алгоритмов сортировки | Методом Sort объекта Range |
Сортировка массива | Скопировать массив на лист, отсортировать диапазон методом Sort, отсортированный диапазон вернуть обратно в массив | |
Перебор объектов коллекции | Циклом For, While или Until | Циклом For Each |