Страницы: 1
RSS
Про повторяющуюся часть кода в нескольких макросах
 
Здравствуйте!
В нескольких макросах одной книги (и даже одного листа) есть довольно большая неизменяемая часть кода.
Как оформить её (эту часть кода) отдельной функцией, чтобы в макросах просто одной строкой указать название функции внутри макроса, и макрос нормально работал?
Такая фишка есть в веб-программировании - include.
А в excel?
Спасибо.
Изменено: MrBrown - 05.05.2017 15:22:20
 
Вынести повторяющиеся строки в отдельную процедуру и вызывать ее из остальных 'фишкой'
Код
Call Название_процедуры
Изменено: Sanja - 05.05.2017 15:23:07
Согласие есть продукт при полном непротивлении сторон
 
Спасибо. Сейчас попробую.
_________________________________
Большое спасибо! Получилось.
Изменено: MrBrown - 05.05.2017 15:34:41
 
давно я вебил, могу ошибаться. поэтому не бейте.

между вставкой "цитаты" и подпрограммой - есть некое отличие. вставка  - работает как копир - тупо вставляет текст как есть.
а подпрограмма - она уже не тупая вставка, а интеллектуально-логическая и, к примеру, может потребовать задекларировать используемые в ней переменные (если соответствующая опция включена, что крайне рекомендуется особенно новичкам). Безусловно, проблема решается глобальным описанием переменных, что даже не так сильно портит код, но лично мне в VBA include тоже не хватает  - иногда так хочется не глобалить переменные, а размер текста сократить.
Но это так - далеко не самые принципиальные моменты...
 
Цитата
Sanja написал:
Вынести повторяющиеся строки в отдельную процедуру и вызывать ее из остальных 'фишкой'
Дополню Сашу - в вызываемую процедуру моно передавать параметры. Как в  функцию:
Код
Call Название_процедуры param1, param2 param..
Я сам - дурнее всякого примера! ...
 
Вообще-то, оператор компиляции INCLUDE, если я правильно понял ТС, не что иное, как аналог добавления в код книги ряда подпрограмм. Что Вам мешает весь "одинаковый" код вынести в отдельный SUB ? И вызывать этот SUB как в #2 ?
Изменено: TheBestOfTheBest - 05.05.2017 16:58:48
Неизлечимых болезней нет, есть неизлечимые люди.
Страницы: 1
Наверх