Васант написал в Excel очень длинный макрос — более 1400 строк. Когда он пытается запустить макрос, Excel отказывается запускать его и говорит, что он слишком длинный.

Очевидно, Excel имеет ограничение на код VBA, так что вы не можете иметь более 64 КБ скомпилированного кода в одной процедуре. Решение этой проблемы — разбить длинный макрос на более короткие процедуры. Например, вы можете разделить свой макрос монстра, скажем, на дюжину макросов меньшего размера. Вы можете сделать более мелкие макросы частными, а не общедоступными (чтобы они не отображались в списке макросов в Excel), а затем вызывать их последовательно из макроса «контроллера».

Когда вы разделяете свой код на отдельные процедуры, убедитесь, что каждая отдельная процедура имеет все циклы и самодостаточную логику. Также убедитесь, что любые переменные, используемые более чем в одной процедуре, объявлены как глобальные переменные, чтобы они были доступны для всех процедур.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3174) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Maximum_Length_Limit_for_a_Macro [максимальная длина макроса].