В этой статье вы узнаете, как макросы могут работать быстрее.

===

Разберемся на примере:

Если вы работаете с длинными кодами VBA для расчетов или других целей; ваш макрос требует времени для выполнения. В приведенном ниже примере показано, как сделать макросы, которые будут работать быстрее, чем обычные коды.

Если вам необходимо умножить число на 10% в столбце A на соответствующую ячейку в столбце B Вам необходимо выполнить шаги, чтобы запустить редактор VB. Щелкните вкладку «Разработчик» В группе «Код» выберите Visual Basic

img1

или нажмите сочетание клавиш ALT + F11, чтобы открыть экран редактора VB.

Нажмите «Вставить», а затем «Модуль»

img2

Это создаст новый модуль.

Чтобы получить результат; введите следующий код в модуль

===

Sub SlowMacro ()

Для x = 2 До 50000

Ячейки (x, 1) = x

Ячейки (x, 2) = x + (x * 0.1)

Далее x

End Sub

img3

img4

Чтобы макрос работал быстрее, вам понадобится волшебный фрагмент кода, то есть

Application.ScreenUpdating = False (до начала действия)

Application.ScreenUpdating = True (чтобы показать окончательный результат)

Приведенный ниже код будет работать как шарм

Sub FastMacro ()

Application.ScreenUpdating = False

Для x = 2 До 50000

Ячейки (x, 1) = x

Ячейки (x, 2) = x + (x * 0.1)

Далее x

Application.ScreenUpdating = True

End Sub

img5

После тестирования вы обнаружите, что FastMacro работает действительно быстрее, чем предыдущий код.

Таким образом, при более длительной работе над автоматизацией вы можете заставить макросы работать быстрее и плавнее.