Использование функции VBA Evaluate вместо цикла
Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.
Задача: необходимо изменить все ячейки диапазона на основе расчета. Вы планируете в коде VBA запустить цикл и перебрать все ячейки:
For Each cell In Selection
cell.Value = -1 * cell.Value
Next cell
Решение: функция Evaluate позволяет выполнить эту работу быстрее цикла. Замените приведенный выше фрагмент кода одной строкой:
Selection.Value = Evaluate(Selection.Address & "
*-1"
)