Я получил это сообщение об ошибке - Procedure too large
- в VBA. В чем причина и выход этой ошибки?
Процедура слишком большая
Ответ 1
Вероятно, у вас есть одна или несколько гигантских процедур/функций, и я думаю, что у VBA есть предел 64k или что-то за процедуру.
Вы исправляете это, разбивая эту процедуру на несколько процедур, которые затем могут быть вызваны одной процедурой.
Итак, вместо того, чтобы:
Sub GiantProcedure()
... ' lots and lots of code
End Sub
У вас будет что-то вроде:
Sub GiantProcedure()
... ' a little bit of common code
Proc1()
Proc2()
Proc3()
End Sub
Sub Proc1()
... ' quite a bit of code
End Sub
Sub Proc2()
... ' quite a bit of code
End Sub
Sub Proc3()
... ' quite a bit of code
End Sub
Ответ 2
Ваша скомпилированная процедура не может превышать 64 КБ. Вы должны разбить его на разные подпрограммы.
Ответ 3
Вы можете получить это сообщение об ошибке, если макрос был создан с использованием 64-разрядной версии Office. Дополнительную информацию см. В следующей статье и обходной путь: