Како да направите сопствени додатак за Мицрософт Екцел

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

Најлакша опција је да сачувате макро код директно у радној датотеци тако што ћете отићи у Висуал Басиц едитор користећи пречицу на тастатури други+ФКСНУМКС и додавање новог празног модула преко менија Инсерт – Модул:

Међутим, овај метод има неколико недостатака:

  • Ако има пуно радних датотека, а макро је потребан свуда, као што је макро за претварање формула у вредности, онда ћете морати да копирате код у свакој књизи.
  • Не сме се заборавити сачувајте датотеку у формату са омогућеним макроима (клсм) или у бинарном формату књиге (клсб).
  • Приликом отварања такве датотеке макро заштита ће сваки пут издати упозорење које треба потврдити (па, или потпуно онемогућити заштиту, што можда није увек пожељно).

Елегантније решење би било стварање ваш сопствени додатак (Екцел додатак) – засебна датотека посебног формата (клам) која садржи све ваше „омиљене“ макрое. Предности овог приступа:

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

Хајде да прођемо кроз цео процес креирања сопственог Мицрософт Екцел додатка корак по корак.

Корак 1. Креирајте датотеку додатка

Отворите Мицрософт Екцел са празном радном свеском и сачувајте је под било којим одговарајућим именом (нпр МиЕкцелАддин) у формату додатака са командом Датотека – Сачувај као или кључеве ФКСНУМКС, наводећи тип датотеке Екцел додатак:

Имајте на уму да Екцел подразумевано складишти додатке у фасцикли Ц:УсерсИоур_намеАппДатаРоамингМицрософтАддИнс, али, у принципу, можете одредити било коју другу фасциклу која вам одговара.

Корак 2. Повезујемо креирани додатак

Сада додатак који смо креирали у последњем кораку МиЕкцелАддин мора бити повезан са Екцел-ом. Да бисте то урадили, идите на мени Датотека – Опције – Додаци (Датотека — Опције — Додаци), кликните на дугме O nama (иди) на дну прозора. У прозору који се отвори кликните на дугме преглед (Прегледај) и наведите локацију наше датотеке додатака.

Ако сте урадили све како треба, онда наш МиЕкцелАддин би требало да се појави на листи доступних додатака:

Корак 3. Додајте макрое у додатак

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

У горњем левом углу уређивача треба да постоји прозор пројекат (ако се не види, укључите га кроз мени Поглед — Пројецт Екплорер):

Овај прозор приказује све отворене радне свеске и покренуте Мицрософт Екцел додатке, укључујући и наше. ВБАПројецт (МиЕкцелАддин.клам) Изаберите га мишем и додајте му нови модул преко менија Инсерт – Модул. У овом модулу ћемо чувати ВБА код наших макроа додатака.

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

Након уноса кода, не заборавите да кликнете на дугме за чување (дискета) у горњем левом углу.

Наш макро ФормуласТоВалуес, као што можете лако да замислите, претвара формуле у вредности у унапред изабраном опсегу. Понекад се ови макрои такође називају Процедуре. Да бисте га покренули, потребно је да изаберете ћелије са формулама и отворите посебан оквир за дијалог Макрои са картице развијач (Програмер — Макрои) или пречица на тастатури други+F8. Обично овај прозор приказује доступне макрое из свих отворених радних свеска, али макрои додатака овде нису видљиви. Упркос томе, у поље можемо унети назив наше процедуре име макроа (име макроа)а затим кликните на дугме трчање (трцати) – и наш макро ће радити:

    

Овде такође можете доделити пречицу на тастатури за брзо покретање макроа – дугме је одговорно за то parametri (Опције) у претходном прозору Макро:

Када додељујете тастере, имајте на уму да су осетљиви на велика и мала слова и распоред тастатуре. Дакле, ако доделите комбинацију као Цтрл+Й, тада ћете, у ствари, у будућности морати да се уверите да имате укључен изглед и притиснете додатно сменада добијем велико слово.

Ради практичности, такође можемо да додамо дугме за наш макро на траку са алаткама за брзи приступ у горњем левом углу прозора. Да бисте то урадили, изаберите Датотека – Опције – Трака са алаткама за брзи приступ (Датотека — Опције — Прилагодите траку са алаткама за брзи приступ), а затим у падајућој листи на врху прозора опцију Макрои. Након тога наш макро ФормуласТоВалуес може се поставити на панел помоћу дугмета додати (Додати) и изаберите икону за то помоћу дугмета Променити (Ремик):

Корак 4. Додајте функције додатку

Али макропроцедуре, постоје макрои функције или како их зову УДФ (Кориснички дефинисана функција = кориснички дефинисана функција). Хајде да направимо посебан модул у нашем додатку (команда менија Инсерт – Модул) и тамо налепите код следеће функције:

Лако је видети да је ова функција потребна за издвајање ПДВ-а из износа који укључује ПДВ. Није Њутнов бином, наравно, али ће нам послужити као пример да покажемо основне принципе.

Имајте на уму да се синтакса функције разликује од процедуре:

  • користи се конструкција Функција…. Енд Фунцтион уместо тога Суб … Крај Суб
  • после назива функције, њени аргументи су назначени у заградама
  • у телу функције врше се потребни прорачуни и затим се резултат додељује променљивој са именом функције

Такође имајте на уму да ова функција није потребна и да је немогуће покренути као претходну макро процедуру кроз оквир за дијалог Макрои и дугме трчање. Овакву макро функцију треба користити као стандардну функцију радног листа (СУМ, ИФ, ВЛООКУП...), односно једноставно унети у било коју ћелију, наводећи вредност износа са ПДВ-ом као аргумент:

… или уђите кроз стандардни оквир за дијалог за уметање функције (дугме fx у траци формуле), одабиром категорије Кориснички дефинисано (кориснички дефинисано):

Једини непријатан тренутак овде је одсуство уобичајеног описа функције на дну прозора. Да бисте га додали, мораћете да урадите следеће:

  1. Отворите Висуал Басиц Едитор помоћу пречице на тастатури други+ФКСНУМКС
  2. Изаберите додатак на панелу Пројецт и притисните тастер F2да бисте отворили прозор Објецт Бровсер
  3. Изаберите свој пројекат додатка са падајуће листе на врху прозора
  4. Кликните десним тастером миша на функцију која се појави и изаберите команду Некретнине.
  5. Унесите опис функције у прозор Opis
  6. Сачувајте датотеку додатка и поново покрените Екцел.

Након поновног покретања, функција би требало да прикаже опис који смо унели:

Корак 5. Направите картицу додатака у интерфејсу

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

Информације о картицама које се подразумевано приказују налазе се у књизи и морају бити обликоване у посебном КСМЛ коду. Најлакши начин за писање и уређивање таквог кода је уз помоћ посебних програма - КСМЛ уређивача. Један од најпогоднијих (и бесплатних) је програм Максима Новикова Риббон ​​КСМЛ Едитор.

Алгоритам за рад са њим је следећи:

  1. Затворите све Екцел прозоре да не би дошло до сукоба датотека када уређујемо КСМЛ код додатка.
  2. Покрените програм Риббон ​​КСМЛ Едитор и отворите нашу МиЕкцелАддин.клам датотеку у њему
  3. Са дугметом табс у горњем левом углу додајте исечак кода за нову картицу:
  4. Морате ставити празне наводнике id нашу картицу и групу (било који јединствени идентификатор), и у налепница – називе наше картице и групе дугмади на њој:
  5. Са дугметом дугме на левом панелу, додајте празан код за дугме и додајте му ознаке:

    - етикета је текст на дугмету

    — имагеМсо — ово је условни назив слике на дугмету. Користио сам икону црвеног дугмета под називом АниматионЦустомАддЕкитДиалог. Називи свих доступних дугмади (а има их неколико стотина!) могу се наћи на великом броју сајтова на Интернету ако тражите кључне речи „имагеМсо“. За почетак, можете ићи овде.

    - онАцтион – ово је назив процедуре повратног позива – специјални кратки макро који ће покренути наш главни макро ФормуласТоВалуес. Ову процедуру можете назвати како год желите. Додаћемо га мало касније.

  6. Исправност свега урађеног можете проверити помоћу дугмета са зеленом квачицом на врху траке са алаткама. На истом месту кликните на дугме са дискетом да бисте сачували све промене.
  7. Затворите Риббон ​​КСМЛ Едитор
  8. Отворите Екцел, идите на Висуал Басиц едитор и додајте процедуру повратног позива нашем макроу КиллФормуластако да покреће наш главни макро за замену формула вредностима.
  9. Чувамо промене и, враћајући се у Екцел, проверавамо резултат:

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

  • Шта су макрои, како их користити у свом раду, где добити макро код у Висуал Басиц-у.
  • Како направити почетни екран када отварате радну свеску у Екцелу
  • Шта је лична књига макроа и како је користити

Ostavite komentar