Један од начина на који можете да унесете ВБА код у ВБА модул је да користите Екцел макро снимач да снимите своје радње и претворите их у ВБА код. Међутим, не могу се сви задаци превести у ВБА снимањем макроа. Такође можете унети код директно или копирати код из једног модула и налепити га у други.
Уношење и уређивање текста у ВБА модулу функционише како бисте очекивали. Можете да изаберете, копирате, исечете, налепите и урадите друге ствари у тексту.
Једна линија ВБА кода може бити дугачка колико год желите. Међутим, можда ћете желети да користите знак за наставак линије да бисте разбили дугачке редове кода. Да бисте наставили један ред кода (такође познат као изјава ) из једног реда у други, завршите први ред размаком праћеном доњом цртом (_). Затим наставите изјаву у следећем реду. Ево примера једне изјаве подељене у три реда:
Селецтион.Сорт Кеи1:=Распон("А1"), _
Ордер1:=клАсцендинг, Хеадер:=клГуесс, _
Оријентација:=клТопТоБоттом
Ова изјава би деловала на исти начин ако би се унела у једном реду (без знакова за наставак реда).
ВБЕ има више нивоа поништавања и понављања. Ако сте избрисали изјаву коју не би требало да имате, користите дугме Поништи на траци са алаткама (или притисните Цтрл+З) док се изјава поново не појави. Након поништавања, можете користити дугме Понови да извршите промене које сте опозвали.
Спремни да унесете прави, живи код? Пробајте следеће кораке:
Направите нову радну свеску у Екцел-у.
Притисните Алт+Ф11 да активирате ВБЕ.
Кликните на име нове радне свеске у прозору пројекта.
Изаберите Инсерт→Модуле да убаците ВБА модул у пројекат.
Унесите следећи код у модул:
Суб ГуессНаме()
Дим Мсг ас Стринг
Дим Анс Ас Лонг
Мсг = "Да ли је ваше име " & Апплицатион.УсерНаме & "?"
Анс = МсгБок(Мсг, вбИесНо)
Ако је Анс = вбНо Онда МсгБок "Ох, нема везе."
Ако је Анс = вбИес Онда МсгБок "Мора да сам видовит!"
Енд Суб
Уверите се да се курсор налази било где у тексту који сте унели, а затим притисните Ф5 да бисте извршили процедуру.
Ф5 је пречица за команду Рун → Рун Суб/УсерФорм.
Када унесете код наведен у кораку 5, можда ћете приметити да ВБЕ врши нека подешавања у тексту који унесете. На пример, након што откуцате Суб наредбу, ВБЕ аутоматски убацује Енд Суб израз. А ако изоставите размак испред или после знака једнакости, ВБЕ убацује размак уместо вас. Такође, ВБЕ мења боју и велика слова неког текста. Ове промене су ВБЕ-ов начин да ствари буду уредне и читљиве.
Ако сте пратили претходне кораке, управо сте креирали ВБА Суб процедуру, такође познату као макро. Када притиснете Ф5, Екцел извршава код и прати упутства. Другим речима, Екцел процењује сваку изјаву и ради оно што сте му рекли да уради. Овај макро можете извршити било који број пута — иако има тенденцију да изгуби своју привлачност након неколико десетина извршења.
Овај једноставан макро користи следеће концепте:
-
Дефинисање потпроцедуре (први ред)
-
Декларисање променљивих (изјаве Дим)
-
Додељивање вредности променљивим (Мсг анд Анс)
-
Повезивање (придруживање) низа (помоћу & оператора)
-
Коришћење уграђене ВБА функције (МсгБок)
-
Коришћење уграђених ВБА константи (вбИесНо, вбНо и вбИес)
-
Коришћење Иф-Тхен конструкције (двапут)
-
Завршетак подпроцедуре (последњи ред)
Као што је поменуто, можете копирати и налепити код у ВБА модул. На пример, процедура под или функција коју напишете за један пројекат такође може бити корисна у другом пројекту. Уместо да губите време на поновни унос кода, можете активирати модул и користити уобичајене процедуре копирања и лепљења (Цтрл+Ц за копирање и Цтрл+В за лепљење). Након што налепите код у ВБА модул, можете модификовати код по потреби.