Пост ажуриран: август 2021
Ево питања читаоца:
Имам колегу који користи Екцел ВБА макрое за анализу гомиле података. Можете ли да објасните како функционишу макрои и вероватно предложите начин да стекнем ту вештину? Сви једноставни савети за почетнике су веома цењени.
Хвала на питању.
Увод у Екцел 365 макрое
Овладавање макро развојем је вероватно једна од најважнијих вештина потребних да бисте постали моћни корисник Екцел-а. У суштини, користимо ВБА макрое да бисмо аутоматизовали задатке у Екцел-у (такође у Ворду, макрои су прилично корисни ) који би иначе били свакодневни, досадни и дуготрајни.
Ево неколико примера задатака које можемо да аутоматизујемо помоћу макроа у Екцел-у:
- Креирање и руковање радним свескама и радним листовима.
- Креирање и манипулисање графиконима
- Увезите податке из датотека или других система.
- Анализирајте податке и креирајте/освежите графиконе и контролне табле
- Прилагодите обрасце да бисте ухватили повратне информације
- Шаљу мејлове
- И још много тога…
Због чињенице да се Екцел испоручује са уграђеним снимачем макроа (за разлику од Оутлоок-а и ПоверПоинт-а), постоје две главне опције за додавање макроа у Екцел радну свеску:
1) Снимање низа радњи корисника са којима је вероватно лако започети, али се не повећава за сложене задатке који могу укључивати интеракцију са другим Оффице апликацијама или манипулисање већим подскуповима података.
2) Писање ваших макроа коришћењем Висуал Басица за апликације (ВБА). Ово је релативно једноставан процедурални језик који вам омогућава да брзо развијете сложенију аутоматизацију.
У овом посту ћемо покрити оба случаја. Почећемо тако што ћемо вам показати како да снимите свој макро и наставићемо пружањем детаљне процедуре за уметање ВБА макроа у табеле.
Обе опције ћемо демонстрирати користећи веома једноставан задатак: аутоматизоваћемо додавање назива радног листа „ДЕМО“ постојећој радној свесци и копирање одређене табеле из Схеет1 у њу.
Снимите Екцел 365 / 2019 макрое
Користићемо веома једноставан пример да опишемо процес. Наставите на следећи начин:
- У програму Екцел отворите постојећу радну свеску или креирајте потпуно нову.
- Идите на картицу Приказ на горњој траци.
- На десној страни ћете приметити одељак Макро.
- Притисните Виев и изаберите Рецорд Мацро.
- Формулар испод ће се отворити. Сада дајте име свом макроу и сачувајте његов садржај у постојећој радној свесци. Можда ћете приметити да овде можете лако да доделите тастерску пречицу како бисте лакше покренули макро.
Савет: Обавезно унесите детаљан опис у свој макро.

- Сада притисните ОК.
- У овом тренутку, наставите и ручно извршите кораке које желите да снимите – у нашем случају ја ћу ићи напред и ручно креирати нову табелу, преименовати је и затим копирати табелу са Схеет1.
- Када завршите, поново притисните Макрои и изаберите Заустави снимање.
- Ако сада притиснете Мацрос, а затим изаберете Виев Мацрос, видећете листу свих макроа ускладиштених у свим отвореним радним свескама (или одређеним)

- Ако притиснете дугме Уреди, отвориће се Мицрософт ВБА Едитор.
- ВБА едитор приказује код који је Екцел управо генерисао за вас у позадини. У следећем одељку овог упутства показаћу вам како можете сами да напишете сличан део кода.

Чување ваше датотеке са омогућеним макроима
Сада ћемо морати да сачувамо радну свеску. Пошто садржи макро, требало би да га сачувамо као КССЛМ датотеку (Екцел датотека са омогућеним макроима)
- Притисните Филе, а затим Саве
- Изаберите локацију на рачунару или ОнеДриве-у на којој ћете сачувати датотеку.
- Дајте му описно име
- Изаберите .кслм као тип датотеке.
- Притисните ОК.
- Браво, управо сте снимили једноставан макро!
Креирајте Екцел ВБА макрое
Као што смо раније споменули, у многим случајевима Екцел макро снимач неће успети и неће задовољити све ваше потребе. У овим случајевима, мораћете да напишете сопствени код.
Савет: Постоје случајеви у којима бисте можда желели да користите хибридни приступ креирању макроа. Можете почети тако што ћете снимити свој макро, а затим само ручно прилагодити аутоматски генерисани код помоћу ВБА.
Подешавање Екцел развојног окружења
Ово звучи прилично отмјено, али је заправо прилично једноставно. Ако на траци не видите картицу под називом Програмер , почните тако што ћете омогућити картицу Програмер .
Након што картица Програмер постане видљива, ваша трака ће изгледати овако:

Писање вашег ВБА макроа
- Отворите своју Екцел датотеку.
- Са траке притисните Програмер.
- Сада притисните дугме Висуал Басиц (Алтернативно, притисните Алт+Ф11).
- Идите на Модул1 и налепите следећи код:
Sub Write_Macro()
'This code creates a Macro named Write_Macro
Dim MySheet As New Worksheet
Dim MyTable As Range
' Create a worksheet programatically and call it TEST
Set MySheet = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))
MySheet.Name = "TEST"
'Copy the table from Sheet1 into TEST worksheet
Set MyTable = Sheet1.Range("A1:C11")
With MyTable
.Copy Sheets("TEST").Range("A1")
End With
End Sub
- Затворите свој ВБА Едитор.
- Вратите се у Екцел, притисните Девелопер.
- Сада притисните Макро и погледајте листу макроа у вашој радној свесци. Приметићете унос Врите_Мацро, који само пишемо сами.

- Сачувајте табелу као .кслм (Екцел датотека са омогућеним макроима)
Покретање вашег макроа
Извршавање вашег макроа је веома једноставно: Из дијалога макроа приказаног изнад, означите свој унос Врите_Мацро и притисните Покрени.
Омогућавање ВБА безбедносних дозвола
У Мицрософт Оффице-у, макрои су подразумевано онемогућени да би се избегло покретање штетног кода. Ако желите да покренете своје макрое, мораћете то да дозволите. Извршите овај опциони корак у случају да сте добили поруку о грешци приликом покретања било ког од два макроа која смо креирали изнад.
- Притисните Програмер на траци.
- Изаберите Макро безбедност .
- Изаберите опцију Онемогући све макрое са обавештењем .
- Притисните ОК.
Напомена: Онемогући све макрое са обавештењем је препоручена безбедносна поставка за Екцел радне свеске које садрже макрое. Функционише на следећи начин: када корисник отвори такву радну свеску, Екцел објављује обавештење „МАКРОС је онемогућен“ одмах иза траке формуле. Тада је на одлуци корисника да омогући макрое у радној свесци.
Окончање
У данашњем кратком водичу научили смо како да убацимо макрое у Оффице 365 Екцел тако што ћемо их снимити или их написати директно користећи Висуал Басиц за апликације.
Ово је само почетни корак за почетнике да се упознају са развојем програма Екцел. Читаоци којима су потребна конкретна решења, пошаљите нам упит преко контакт странице .