Макрови програма Мицрософт Екцел могу значајно убрзати рад са документима у овој табеларни табели. Ово се постиже аутоматизацијом понављаних акција забележених у посебном коду. Хајде да разговарамо о томе како креирати макре у програму Екцел и како их уређивати.

Начини писања макроа

Макро се може писати на два начина:

  • аутоматски;
  • ручно.

Користећи прву опцију, једноставно снимите одређене радње у програму Мицрософт Екцел који тренутно радите. Затим, можете играти овај рекорд. Ова метода је веома једноставна и не захтева познавање кодова, али његова примена у пракси је прилично ограничена.

Ручно снимање макроа, напротив, захтева познавање програмирања, пошто се код ручно откуцава са тастатуре. Али, исправно написани код на овај начин, може значајно убрзати извршавање процеса.

Аутоматско снимање макроа

Пре него што започнете аутоматско макро снимање, потребно је омогућите макре у програму Мицрософт Екцел .

Омогућавање макроа у програму Мицрософт Екцел

Затим идите на картицу "Девелопер". Кликнемо на дугме "Рецорд мацро", који се налази на траци у оквиру "Цоде" алата.

Омогућите макро снимање у програму Мицрософт Екцел

Отвара се прозор Мацро Рецординг Сетуп. Овде можете одредити било које име макра, ако вам подразумевана вредност не одговара. Најважније је да име почиње словом, а не бројем. Такође, наслов не сме садржавати размаке. Напустили смо подразумевано име - "Мацро1".

Одмах, ако желите, можете подесити пречицу на тастатури, када кликнете на који ће се макро покретати. Први кључ мора бити Цтрл тастер, а други кључ поставља корисник. На пример, ми смо, на пример, поставили М кључ.

Затим морате одредити гдје ће се макро складиштити. По подразумеваној вредности, она ће бити сачувана у истој књизи (датотека), али ако је потребно, можете поставити складиште у нову књигу или у посебну књигу макроа. Оставићемо подразумевану вредност.

У најнижем пољу макро подешавања можете оставити било који контекстуални опис за овај макро. Али, то није потребно урадити.

Када су сва подешавања завршена, кликните на дугме "ОК".

Подешавања снимања макроа у програму Мицрософт Екцел

Након тога, све ваше радње у Екцеловој датотеци (фајл) ће бити уписане у макро све док не зауставите снимање.

Например, напишемо најједноставнију аритметичку акцију: додавање садржаја три ћелије (= Ц4 + Ц5 + Ц6).

Формула у Мицрософт Екцелу

Након тога кликните на дугме "Стоп рецординг". Ово дугме је конвертовано са дугмета "Рецорд Мацро", након што је снимање укључено.

Заустави снимање макроа у програму Мицрософт Екцел

Покретање макроа

Да бисмо проверили како снимљени макро функционише, кликните на дугме "Макрои" у истом "Цоде" алатном пољу или притисните Алт + Ф8.

Идите на почетак макроа у програму Мицрософт Екцел

Након тога отвара се прозор с листом снимљених макроа. Потражите макро који смо снимили, одаберите га и кликните на дугме "Покрени".

Макро избор у Мицрософт Екцелу

Можете учинити још лакше, а чак ни не позовите прозор макро селекције. Такође се сећамо да смо забележили комбинацију "врућих кључева" за брзи позив макроа. У нашем случају, ово је Цтрл + М. Ову комбинацију упишемо на тастатуру, након чега почиње макро.

Као што видите, макро је извршио управо све радње које су раније снимљене.

Макро извршен у Мицрософт Екцелу

Уређивање макроа

Да бисте уредили макро, поново кликните на дугме "Макрои". У прозору који се отвори, изаберите жељени макро и кликните на дугме "Промени".

Прелазак на промену макроа у програму Мицрософт Екцел

Отвара се Мицрософт Висуал Басиц (ВБЕ) - окружење у коме се уређују макрои.

Мицрософт Висуал Басиц у програму Мицрософт Екцел

Сваки макро унос почиње са командом Суб, а завршава се са командом Енд Суб. Одмах након наредбе Суб, наведен је назив макра. "Ранге (..."). Изаберите "оператор означава избор ћелија. На пример, са опцијом "Ранге (" Ц4 "). Изаберите" цомманд ", изабрана је ћелија Ц4. Оператор "АцтивеЦелл.ФормулаР1Ц1" се користи за снимања акција у формулама и за друге прорачуне.

Покушајмо мало променити макро. Да бисте то урадили, макро додајте следећи израз:

Опсег ("Ц3"). Изаберите
АцтивеЦелл.ФормулаР1Ц1 = "11"

Израз "АцтивеЦелл.ФормулаР1Ц1 =" = Р [-3] Ц + Р [-2] Ц + Р [-1] Ц "" замјењује се са "АцтивеЦелл.ФормулаР1Ц1 =" = Р [-4] Ц + Р [-3 ] Ц + Р [-2] Ц + Р [-1] Ц "".

Измена макроа у програму Мицрософт Екцел

Затворите едитор и покрените макро, баш као и последњи пут. Као што видите, услед промена које смо увели, додата је још једна ћелија са подацима. Такође је укључено у израчунавање укупног износа.

Ако је макро превелики, може трајати дуго времена. Али, ручно променити код, можемо убрзати процес. Додајте команду "Апплицатион.СцреенУпдатинг = Фалсе". То ће спасити компјутерску моћ, а самим тим и убрзати рад. Ово се постиже не освјежавајући екран током рачунских активности. Да бисте наставили ажурирање након извршења макроа, на крају пишемо команду "Апплицатион.СцреенУпдатинг = Труе"

Такође, на почетку кода додамо команду "Апплицатион.Цалцулатион = клЦалцулатионМануал", а на крају кода додамо "Апплицатион.Цалцулатион = клЦалцулатионАутоматиц". Са овим прво онемогућимо аутоматско поновно израчунавање резултата након сваке ћелијске промене и укључите макро на крају макра. Стога, Екцел ће израчунати резултат само једном, и нећете га константно прерачунати, тиме ћете уштедјети време.

Измена кода у програму Мицрософт Висуал Басиц у програму Мицрософт Екцел

Писање макро кода од нуле

Напредни корисници могу обављати не само уређивање и оптимизацију снимљених макроа, већ и кодирање макроа од нуле. Да бисте наставили ово, потребно је да кликнете на дугме "Висуал Басиц", који се налази на самом почетку траке програмера.

Идите на ручно креирање макроа у програму Мицрософт Екцел

Након тога, отвара се познати прозор уредника ВБЕ.

ВБЕ уредни прозор у програму Мицрософт Екцел

Програматор пише ручно макро код.

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