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

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

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

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

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

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

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

Этот совет (10449) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

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