Суть в том, что примерно из 2500 ячеек вызывается моя макрос-функция, возвращающая число в ячейку.
Каждый такой вызов возвращает найденное в другом листе число из диапазона примерно 20000 ячеек.
В общем-то объём вполне разумный, ничего сверхъестественного - но на эту работу уходит суммарно более 3 секунд.
Три секунды на 20000 ячеек — это не так уж и медленно.
Код даже присылать нет смысла: там в каждом вызове банально перелопачивается матрица из 20000 ячеек при помощи метода GetCellByPosition().
Может быть проблема именно в нём - нужно использовать какой-то более эффективный подход?
Извлечение данных массивом и обработка массива быстрее чем поштучная обработка ячеек. Но это в общем, конкретно нужно смотреть на задачу (исходные данные и макрос)