Како покренути макро у програму Екцел

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

Прво: Уверите се да су макрои омогућени

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

Ако не можете да покренете макрое, покушајте да следите ова упутства:

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

Покрените макро са листе макроа

Списку макроа може се приступити са картице Поглед. Да бисте видели ову листу:

  • Изаберите Поглед таб
  • Кликните на дугме са ознаком Макрои да бисте приказали листу макроа

  • Изаберите макро који желите да покренете са листе, а затим кликните на Трцати дугме

Макро листу можете такође приказати у било ком тренутку притиском на АЛТ+Ф8.

Покрените макро помоћу тастерске пречице

Макроу који често користите можете доделити тастерску пречицу у облику ЦТРЛ+или ЦТРЛ+СХИФТ+. Да уради ово:

  • Отворите листу макроа (Поглед > Макроиили АЛТ+Ф8)
  • Изаберите макро на који желите да примените пречицу
  • Кликните Опције… да покаже Опције макроа под-дијалог

  • У оквиру за текст испод Пречица, откуцајте једно слово, а затим кликните У реду. Ако држите тастер СХИФТ док куцате слово, ознака поред оквира приказује СХИФТ као део пречице

БЕЛЕШКА: Препоручује се да користите СХИФТ при креирању пречице! Екцел за себе користи пречице ЦТРЛ+, нпр. ЦТРЛ+Ц за копирање или ЦТРЛ+В за чување. Ако креирате пречицу за макро помоћу ових или других Екцел пречица, пребрисаћете Екцел пречицу док поново не доделите пречицу за макро.

Покрените макро из ВБ Едитор -а

Макрои се такође могу покренути из ВБ Едитор -а. ВБ Едитор вам омогућава да прегледате код макроа и унесете све промене које желите пре него што га покренете.

Да бисте покренули макро у ВБ Едитор -у:

  • Отворите ВБ Едитор (картица Девелопер> Висуал Басиц или АЛТ+Ф11)

  • У Пројекат прозор, двапут кликните на модул који садржи макро који желите да тестирате
  • У прозору кода модула, поставите курсор било где на коду макроа између „Суб“ и „Енд Суб“
  • Кликните Трцати дугме на траци са алаткама или притисните тастерску пречицу Ф5

Покрените макро помоћу дугмета или облика

Често је корисно имати контролу на радном листу на коју корисник може да кликне да покрене макро, попут контроле дугмета или облика. Ово је много брже за крајње кориснике него отварање листа макроа или копање по макро коду у ВБ Едитор-у.

Информације о томе како да направите дугме или облик на које се може кликнути могу се пронаћи овде: Додајте дугме и доделите макро у програму Екцел.

Аутоматски покрените макро помоћу догађаја у ВБА

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

Да бисте написали код за догађај, мораћете да користите ВБ Едитор. На пример, да бисте видели догађаје за радну свеску:

  • Отворите ВБ Едитор (АЛТ+Ф11)
  • Двапут кликните на ТхисВоркбоок објекат у ВБ Едитор -у Пројецт Виндов
  • Одаберите „Радна свеска“ са падајућег менија у горњем левом углу прозора кода
  • Кликните падајући мени са десне стране да бисте видели листу догађаја

Следи мали, али користан узорак Екцел догађаја из којих можете покренути макрое.

Воркбоок_Опен ()

Догађај Воркбоок_Опен () се активира када се радна свеска отвори. Ако добијете Упозорење о безбедности након отварања радне свеске, овај догађај се активира након што кликнете на „Омогући садржај“.

12345 Привате Суб Воркбоок_Опен ()МсгБок "Радна свеска је отворена!"Енд Суб

Воркбоок_БефореЦлосе (Откажи као логичко)

Воркбоок_БефореЦлосе () се активира када корисник покуша да затвори радну свеску. То се дешава пре него што се изврше било какве провере да ли се радна свеска мора сачувати.

Тхе Поништити, отказати параметар се може поставити на Труе да спречи затварање радне свеске.

123456789 Привате Суб Воркбоок_БефореЦлосе (Откажи као логичко)Ако је МсгБок ("Јесте ли сигурни?", ВбИесНо + вбКуестион, "Цлосе") = вбНо ОндаОткажи = ТачноКрај АкоЕнд Суб

Радни лист_Промени (БиВал циљ као опсег)

Радни лист_Цханге () се активира када се промени вредност ћелије - било да је промењена макроом, операцијом копирања/лепљења или спољном везом. Међутим, не покреће се када се вредност поново израчуна по формули.

Тхе Таргет параметар представља ћелије чија се вредност променила.

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

123456789 Приватни под -радни лист_Промени (БиВал циљ као опсег)МсгБок "Ћелије су промењене:" & Таргет.АддрессАпплицатион.ЕнаблеЕвентс = НетачноОпсег ("А2"). Вредност = Опсег ("А2"). Вредност + циљна ћелија. БројАпплицатион.ЕнаблеЕвентс = ТачноЕнд Суб

Радни лист_СелецтионЦханге (БиВал циљ као опсег)

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

Овај догађај можете покренути и кодом, нпр. „Распон („ А1 “). Одаберите“. Као и код Ворксхеет_Цханге (), требали бисте бити опрезни при избору других ћелија унутар овог догађаја, јер можете изазвати бесконачну петљу. Користите Апплицатион.ЕнаблеЕвентс.

123456789 Приватни под -радни лист_СелецтионЦханге (БиВал циљ као опсег)Ако је Таргет.Аддресс = "$ А $ 1" ЗатимМсгБок "Курсор на почетној позицији."Крај АкоЕнд Суб

Зауставите покренути макро

Покренути макро се може прекинути притиском на ИЗАЋИ или ЦТРЛ+БРЕАК. Подразумевано, прекинути макро приказује следећи дијалог:

Кликом Крај ће зауставити макро, док Настави ће га наставити. Кликом Отклањање грешака отвориће макро у ВБ Едитор -у и фокусирати линију кода на којој је извршење паузирано. (Унутар ВБ уређивача можете зауставити или наставити макро помоћу дугмади Покрени или Крај на траци са алаткама.)

Апплицатион.ЕнаблеЦанцелКеи

Можете онемогућити могућност заустављања макроа помоћу ЕСЦ или ЦТРЛ+БРЕАК постављањем Апплицатион.ЕнаблеЦанцелКеи својство. Ово својство има три могуће вредности:

  • клИнтеррупт - ово је подразумевана вредност, због чега Екцел приказује горњи дијалог
  • клДисаблед - уклања могућност заустављања покренутог макроа
  • клЕррорХандлер - приликом покушаја прекида долази до грешке која се може решити у коду

Кад год се извршавање кода заустави, Екцел увек ресетује вредност Апплицатион.ЕнаблеЦанцелКеи назад на клИнтеррупт.

Добар разлог за коришћење ове имовине је сигурност. На пример, ако сте имали макро који привремено не штити делове ваше радне свеске, корисник би потенцијално могао да заустави макро одмах након уклањања заштите и добије приступ садржају који нисте намеравали да имате. Постављањем Апплицатион.ЕнаблеЦанцелКеи можете у потпуности онемогућити њихову способност да то учине или љубазно управљати њиховим прекидом помоћу Руковалаца грешака који поново штити радну свеску.

1234567891011 Суб УпдатеБасеДата (БиВал НевДата Ас Ранге, БиВал Таргет Ас Ранге)Апплицатион.ЕнаблеЦанцелКеи = клДисабледТаргет.Ворксхеет.Унпротецт "МиПассворд"НевДата.Цопи ТаргетТаргет.Ворксхеет.Протецт "МиПассворд"Апплицатион.ЕнаблеЦанцелКеи = клИнтерруптЕнд Суб

Присилно затворите Екцел помоћу Виндовс управитеља задатака

Ако је макро „висио“ или је Екцел постао превише заузет да би потврдио покушај прекида, можда ћете морати присилно затворити сам Екцел помоћу Виндовс управитељ задатака. (НАПОМЕНА: ако то учините, можете изгубити све несачуване радове и морати се ослонити на верзију радне свеске која се аутоматски опоравља.)

  • Отворите Управитељ задатака директно помоћу ЦТРЛ+СХИФТ+ЕСЦ
  • Изаберите "Процеси”Картица
  • Проширите ставку „Мицрософт Екцел“ да бисте приказали све радне свеске
  • Изаберите радну свеску коју желите да затворите, а затим кликните Заврши задатак у доњем десном углу

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave