У овом чланку ћемо креирати макро за уметање новог модула у Екцел радну свеску.
Пре него што покренемо макро, морамо да наведемо тип и назив модула.
Као што се може видети на снимку екрана, имамо само један модул у радној свесци. У овом примеру додаћемо модул класе у радну свеску.
Логичко објашњење
У овом чланку смо креирали два макроа, „ЦреатеНевМодуле“ и „ЦаллингПроцедуре“.
Макро „ЦреатеНевМодуле“ се користи за додавање новог модула, у зависности од унетог уноса.
Макро „ЦаллингПроцедуре“ се користи за обезбеђивање уноса и позивање главног модула.
Објашњење кода
Постави МодулеЦомпонент = Вбоок.ВБПројецт.ВБЦомпонентс.Адд (МодулеТипеИндек)
Горњи код се користи за додавање новог модула у ВБА пројекат.
МодулеЦомпонент.Наме = НовиМодулеНаме
Горњи код се користи за преименовање уметнуте компоненте.
МодулеТипеЦонст = Цинт (Опсег ("Д12"). Вредност)
Горњи код се користи за добијање целобројне вредности из ћелије Д12.
МодулеНаме = Схеет1.ТектБок2.Валуе
Горњи код се користи за добијање вредности из оквира за текст.
Молимо следите доле за код
Опција Експлицитна подмена ЦреатеНевМодуле (БиВал МодулеТипеИндек Ас Интегер, БиВал НевМодулеНаме Ас Стринг) 'Декларисање променљивих Дим МодулеЦомпонент Као ВБЦомпонент Дим ВБоок као радна свеска' Стварање објекта активне радне свеске Сет ВБоок = АцтивеВоркбоок Сет МодулеЦомпонент = Ништа на грешку Нови модул Следеће Постави грешку МодулеЦомпонент = ВБоок.ВБПројецт.ВБЦомпонентс.Адд (МодулеТипеИндек) Иф Нот МодулеЦомпонент ис Нотхинг тхен 'Преименовање новог модула МодулеЦомпонент.Наме = НевМодулеНаме Крај ако је грешка ГоТо 0 Подесите МодулеЦомпонент = Ништа Прекините Суб Субблес ЦаллингПроцедуре Интегер Дим МодулеНаме Ас Стринг 'Добијање вредности назива модула и типа модула МодулеТипеЦонст = ЦИнт (Опсег ("Д12"). Вредност) МодулеНаме = Схеет1.ТектБок2.Валуе' Позивање ЦреатеНевМодуле ЦреатеНевМодуле МодулеТипеЦонст, МодулеНаме Енд Суб
Ако вам се допао овај блог, поделите га са пријатељима на Фацебооку. Такође, можете нас пратити на Твиттер -у и Фацебоок -у.
Волели бисмо да чујемо од вас, јавите нам како можемо побољшати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште