Сообщения

Сообщения за октябрь, 2015

Функции рабочего листа и скорость расчетов

В прошлом посте мы упоминали, что скорость расчетов встроенных функций Excel больше скорости самостоятельно созданных функций на VBA.Однако ситуация не всегда так однозначна. Встроенными средствами VBA можно создавать пользовательские функции которые будут работать гораздо быстрее встроенных, используя другие алгоритмы расчетов. Особенно сильное различие получается при составлении сложных формул. В Excel одну и ту же задачу можно решить несколькими способами, в зависимости от квалификации пользователя и текущих задач. Так же и в VBA. Помимо этого в VBA можно производить расчеты непосредственно в программном коде, не обращаясь к ячейкам. Такие расчеты проходят в тысячи раз быстрее, т.к. операция обращения к ячейкам рабочего листа является очень медленной. Рассмотрим на конкретном примере. Создадим пользовательскую функцию рабочего листа, задачей которой будет подсчет уникальных значений в заданном массиве.Такой прямо встроенной функции нет, однако задачу можно решить следующей формул