Научите како да користите Екцел макронаредбе за аутоматизацију заморних задатака

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

Ако вас занима шта су макрои или како их заправо створити, нема проблема - провест ћемо вас кроз читав процес.

Белешка:исти процес би требало да функционише у већини верзија Мицрософт Оффице-а. Снимке екрана могу изгледати мало другачије.

Шта је макро?

Макронаредба Мицрософт Оффице (пошто се ова функција односи на неколико МС Оффице апликација) је једноставно Висуал Басиц фор Апплицатионс (ВБА) код сачуван у документу. За упоредиву аналогију, замислите документ као ХТМЛ, а макро као Јавасцрипт. На сличан начин на који Јавасцрипт може да манипулише ХТМЛ-ом на веб страници, макро може да манипулише документом.

Макрои су невероватно моћни и могу учинити готово све што вам машта може дочарати. Као (врло) кратку листу функција које можете да урадите са макроом:

  • Примените стил и обликовање.
  • Манипулишите подацима и текстом.
  • Комуницирајте са изворима података (база података, текстуалне датотеке итд.).
  • Креирајте потпуно нове документе.
  • Било која комбинација, било којим редоследом, било чега од горе наведеног.

Стварање макронаредбе: објашњење на примеру

Почињемо са вашом ЦСВ датотеком сорте баште. Овде нема ништа посебно, само скуп бројева од 10 × 20 између 0 и 100 са заглављем реда и колоне. Циљ нам је да направимо добро форматиран, презентабилан лист података који укључује сажети укупан број за сваки ред.

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

Да бисте креирали макро, идите на Виев> Мацрос> Рецорд Мацро.

Доделите макронаредби име (без размака) и кликните на дугме У реду.

Једном када се ово уради, све бележе се ваше радње - свака промена ћелије, акција помицања, промјена величине прозора, ви то именујете.

Постоји неколико места која указују на то да је Екцел начин снимања. Једно је прегледање макро менија и напомињање да је Стоп Рецординг заменио опцију за Рецорд Мацро.

Други је у доњем десном углу. Икона ‘стоп’ означава да је у макро режиму и притиском овде зауставићете снимање (такође, када није у режиму снимања, ова икона ће бити дугме Сними макро, које можете да користите уместо да одете у мени Макро).

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

Затим примените одговарајуће формуле (односно):

  • = СУМ (Б2: К2)
  • = ПРОСЕЧНО (Б2: К2)
  • = МИН (Б2: К2)
  • = МАКС (Б2: К2)
  • = МЕДИЈАН (Б2: К2)

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

Када се то уради, сваки ред треба да прикаже своје сажетке.

Сада желимо да добијемо збирне податке за цео лист, па примењујемо још неколико прорачуна:

Редом:

  • = СУМ (Л2: Л21)
  • = ПРОСЕЧНО (Б2: К21) *Ово се мора израчунати за све податке, јер просек реда у просеку није нужно једнак просеку свих вредности.
  • = МИН (Н2: Н21)
  • = МАКС (О2: О21)
  • = МЕДИЈАН (Б2: К21) * Израчунато за све податке из истог разлога као горе.

Сада када су прорачуни завршени, применићемо стил и обликовање. Прво примените опште форматирање бројева у свим ћелијама избором Селецт Алл (или Цтрл + А или кликните ћелију између заглавља редова и колона) и одаберите икону „Цомма Стиле“ у менију Хоме.

Затим примените визуелно форматирање и на заглавља редова и колона:

  • Одважан.
  • Центрирано.
  • Боја попуњавања позадине.

И на крају, примените неки стил на укупне износе.

Када све заврши, овако изгледа наш технички лист:

Пошто смо задовољни резултатима, зауставите снимање макронаредбе.

Честитамо - управо сте креирали Екцел макро.

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

Да бисте то урадили, изаберите све ћелије и избришите их.

Са подацима који су сада избрисани (али макрои су и даље укључени у Екцел датотеку), желимо да датотеку сачувамо као датотеку предлошка са омогућеним макроима (КСЛТМ). Важно је напоменути да ако ово сачувате као стандардни образац (КСЛТКС), тада ће то урадити макронаредбе не моћи да се бежи од ње. Датотеку можете сачувати и као датотеку застарелог предлошка (КСЛТ), што ће омогућити покретање макронаредби.

Након што датотеку сачувате као образац, затворите Екцел.

Коришћење Екцел макроа

Пре него што објаснимо како можемо применити овај ново снимљени макро, важно је покрити неколико тачака о макроима уопште:

  • Макрои могу бити злонамерни.
  • Погледајте тачку горе.

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

Да бисте користили наш макро за формат података, отворите датотеку Екцел предлошка која је креирана горе. Када то учините, под претпоставком да су омогућене стандардне безбедносне поставке, на врху радне свеске видећете упозорење које каже да су макрои онемогућени. Пошто верујемо макроу који смо сами креирали, кликните на дугме „Омогући садржај“.

Следеће ћемо увести најновији скуп података из ЦСВ-а (ово је извор радног листа који је коришћен за креирање нашег макронаредбе).

Да бисте довршили увоз ЦСВ датотеке, можда ћете морати да поставите неколико опција како би је Екцел исправно протумачио (нпр. Граничник, присутна заглавља итд.).

Када се наши подаци увезу, једноставно идите у мени Макрои (на картици Поглед) и изаберите Прикажи макроне.

У резултирајућем дијалошком оквиру видимо макро „ФорматДата“ који смо горе снимили. Изаберите је и кликните на Рун.

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

Поглед испод хаубе: Шта чини макро рад

Као што смо неколико пута споменули, макро покреће Висуал Басиц за апликације (ВБА) код. Када „снимите“ макро, Екцел заправо све што радите преводи у одговарајућа ВБА упутства. Поједностављено речено - не морате да напишете ниједан код, јер Екцел пише тај код уместо вас.

Да бисте погледали код који покреће наш макро, у дијалогу Макрои кликните на дугме Уреди.

Прозор који се отвори приказује изворни код који је забележен из наших радњи приликом креирања макронаредбе. Наравно, овај код можете уредити или чак створити нове макрое у потпуности унутар прозора кода. Иако ће радња снимања коришћена у овом чланку вероватно одговарати већини потреба, више прилагођене радње или условне радње захтеваће уређивање изворног кода.

Узимање нашег примера корак даље ...

Хипотетички претпоставимо да је наша изворна датотека података дата.цсв произведена аутоматизованим поступком који датотеку увек чува на истом месту (нпр. Ц: \ Дата \ дата.цсв су увек најновији подаци). Процес отварања и увоза ове датотеке такође се лако може претворити у макро:

  1. Отворите датотеку Екцел предлошка која садржи наш макро „ФорматДата“.
  2. Снимите нови макро под називом „ЛоадДата“.
  3. Помоћу макро снимања увезите датотеку података као што бисте то обично урадили.
  4. Када се подаци увезу, зауставите снимање макронаредбе.
  5. Избришите све податке о ћелији (изаберите све, а затим избришите).
  6. Сачувајте ажурирани образац (не заборавите да користите формат предлошка са омогућеним макроима).

Једном када се то уради, кад год се предложак отвори, постојаће два макронаредбе - један који учитава наше податке и други који их форматира.

Ако сте заиста желели да запрљате руке са мало уређивања кода, лако можете да комбинујете ове акције у један макро копирањем кода произведеног из „ЛоадДата“ и уметањем на почетак кода из „ФорматДата“.

Преузмите овај образац

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

Преузмите Екцел макронаредбу са Хов-То Геек-а