Избришите процедуру из модула помоћу ВБА у Мицрософт Екцелу

Anonim

У овом чланку ћемо креирати макро за брисање другог макроа из модула.

Користимо Модуле1, који садржи СамплеПроцедуре као узорак макроа, који желимо да избришемо.

Објашњење кода

Подесите ВБЦМ = ВБ.ВБПројецт.ВБЦомпонентс (ДелетеФромМодулеНаме) .ЦодеМодуле

Горњи код се користи за креирање објекта дефинисаног модула.

ПроцСтартЛине = ВБЦМ.ПроцСтартЛине (Назив процедуре, вбект_пк_Проц)

Горњи код се користи за добијање броја почетне линије дефинисане процедуре.

ПроцЛинеЦоунт = ВБЦМ.ПроцЦоунтЛинес (Назив процедуре, вбект_пк_Проц)

Горњи код се користи за добијање броја редова у дефинисаној процедури.

ВБЦМ.ДелетеЛинес ПроцСтартЛине, ПроцЛинеЦоунт

Горњи код се користи за брисање свих редова унутар дефинисане процедуре.

Молимо следите доле за код

 Опција Експлицитно Суб ДелетеПроцедуреЦоде (БиВал ДелетеФромМодулеНаме Ас Стринг, БиВал ПроцедуреНаме Ас Стринг) 'Декларисање променљивих Затамни ВБЦМ као ЦодеМодуле, ПроцСтартЛине као дуго, ПроцЛинеЦоунт као дугачко Дим ВБ Као радна свеска На грешци Настави Следећи' Стварање објекта активне радне свеске 'Стварање објекта активне радне групе објекат модула радне свеске Поставите ВБЦМ = ВБ.ВБПројецт.ВБЦкомпоненте (ДелетеФромМодулеНаме) .ЦодеМодуле 'Провера да ли процедура постоји у кодном модулу Ако није ВБЦМ ништа, тада ПроцСтартЛине = 0' Функција додељује ред бр. почетне линије за процедуру ПроцСтартЛине = ВБЦМ.ПроцСтартЛине (ПроцедуреНаме, вбект_пк_Проц) Ако је ПроцСтартЛине> 0 Затим 'Функција додељује бр. редова у процедури ПроцЛинеЦоунт = ВБЦМ.ПроцЦоунтЛинес (ПроцедуреНаме, вбект_пк_Проц) 'Избришите све редове у процедури ВБЦМ.ДелетеЛинес ПроцСтартЛине, ПроцЛинеЦоунт Крај Ако је постављено ВБЦМ = Ништа крај Ако је грешка Иди на 0 Прекини помоћну помоћну опцију ЦаллингПроцедуре' Дим МодулеНаме, ПроцедуреНаме Ас Стринг 'Добијање вредности за назив модула и процедуре из текстуалних оквира МодулеНаме = Схеет1.ТектБок1.Валуе ПроцедуреНаме = Схеет1.ТектБок2.Валуе' Позивање ДелетеПроцедуреЦоде макро ДелетеПроцедуреЦоде МодулеНаме, ПроцедуреНаме Енд Суб 

Ако вам се допао овај блог, поделите га са пријатељима на Фацебооку. Такође, можете нас пратити на Твиттер -у и Фацебоок -у.

Волели бисмо да чујемо од вас, јавите нам како можемо побољшати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште