Kaip sukurti savo „Microsoft Excel“ priedą

Net jei nežinote, kaip programuoti, yra daugybė vietų (knygų, svetainių, forumų), kur galite rasti paruoštą VBA makrokomandos kodą, skirtą daugybei tipiškų „Excel“ užduočių. Mano patirtis rodo, kad dauguma vartotojų anksčiau ar vėliau surenka savo asmeninę makrokomandų kolekciją, kad automatizuotų įprastus procesus, nesvarbu, ar tai būtų formulių vertimas į reikšmes, sumų rodymas žodžiais ar langelių sumavimas pagal spalvas. Ir čia iškyla problema – „Visual Basic“ makrokodą reikia kažkur saugoti, kad vėliau būtų galima naudoti darbe.

Paprasčiausias pasirinkimas yra išsaugoti makrokomandos kodą tiesiai į darbinį failą, naudojant sparčiuosius klavišus eidami į Visual Basic redaktorių Kitas+F11 ir pridedant naują tuščią modulį per meniu Įterpimas – modulis:

Tačiau šis metodas turi keletą trūkumų:

  • Jei yra daug veikiančių failų ir visur reikia makrokomandos, pvz., makrokomandos formulėms konvertuoti į reikšmes, tada turėsite nukopijuoti kodą kiekvienoje knygoje.
  • Negalima pamiršti išsaugoti failą makrokomandos formatu (xlsm) arba dvejetainiu knygos formatu (xlsb).
  • Atidarius tokį failą makro apsauga kiekvieną kartą pateiks įspėjimą, kurį reikia patvirtinti (gerai arba visiškai išjungti apsaugą, o tai ne visada gali būti pageidautina).

Elegantiškesnis sprendimas būtų sukurti jūsų priedas („Excel“ priedas) – atskiras specialaus formato failas (xlam), kuriame yra visos jūsų „mėgstamiausios“ makrokomandos. Šio metodo pranašumai:

  • Užteks vieną kartą prijunkite priedą programoje „Excel“ – ir galite naudoti jos VBA procedūras bei funkcijas bet kuriame šio kompiuterio faile. Darbinių failų iš naujo išsaugoti xlsm- ir xlsb formatais, todėl nereikia, nes. šaltinio kodas bus saugomas ne juose, o priedo faile.
  • Apsauga Jūsų netrukdys ir makrokomandos. priedai pagal apibrėžimą yra patikimi šaltiniai.
  • Gali padaryti atskiras skirtukas „Excel“ juostelėje su gražiais mygtukais, kad paleistumėte priedų makrokomandas.
  • Priedas yra atskiras failas. Jo lengva nešiotis iš kompiuterio į kompiuterį, dalinkitės su kolegomis ar net parduokite 😉

Žingsnis po žingsnio apžvelgsime visą savo „Microsoft Excel“ priedo kūrimo procesą.

1 veiksmas. Sukurkite priedo failą

Atidarykite „Microsoft Excel“ naudodami tuščią darbaknygę ir išsaugokite ją bet kokiu tinkamu pavadinimu (pvz., „MyExcelAddin“.) papildinio formatu su komanda Failas – Išsaugoti kaip arba raktus F12, nurodydami failo tipą „Excel“ priedas:

Atminkite, kad pagal numatytuosius nustatymus „Excel“ priedus saugo aplanke C:UsersYour_nameAppDataRoamingMicrosoftAddIns, tačiau iš esmės galite nurodyti bet kurį kitą jums patogų aplanką.

Žingsnis 2. Sujungiame sukurtą priedą

Dabar priedas, kurį sukūrėme paskutiniame žingsnyje „MyExcelAddin“. turi būti prijungtas prie Excel. Norėdami tai padaryti, eikite į meniu Failas – Parinktys – Priedai (Failas – Parinktys – Priedai), spustelėkite mygtuką Apie mus (Eiti) lango apačioje. Atsidariusiame lange spustelėkite mygtuką apžvalga (Naršyti) ir nurodykite mūsų priedo failo vietą.

Jei padarėte viską teisingai, tada mūsų „MyExcelAddin“. turėtų pasirodyti galimų priedų sąraše:

3 veiksmas. Pridėkite makrokomandas prie papildinio

Mūsų priedas yra prijungtas prie „Excel“ ir sėkmingai veikia, tačiau jame dar nėra nė vienos makrokomandos. Užpildykime. Norėdami tai padaryti, atidarykite „Visual Basic“ rengyklę sparčiuoju klavišu Kitas+F11 arba mygtuku "Visual Basic" kortelė ryškalas (Programuotojas). Jei skirtukai ryškalas nematomas, gali būti rodomas per Failas – Parinktys – Juostos sąranka (Failas – Parinktys – Tinkinti juostelę).

Viršutiniame kairiajame redaktoriaus kampe turėtų būti langas Projektas (jei jis nematomas, įjunkite jį per meniu Rodinys – Project Explorer):

Šiame lange rodomos visos atidarytos darbaknygos ir veikiantys „Microsoft Excel“ priedai, įskaitant mūsų. VBAProject (MyExcelAddin.xlam) Pasirinkite jį pele ir per meniu pridėkite prie jo naują modulį Įterpimas – modulis. Šiame modulyje išsaugosime savo priedų makrokomandų VBA kodą.

Galite įvesti kodą nuo nulio (jei žinote, kaip programuoti), arba nukopijuoti jį iš kur nors paruošto (tai daug lengviau). Testavimui į pridėtą tuščią modulį įveskime paprastos, bet naudingos makrokomandos kodą:

Įvedę kodą nepamirškite viršutiniame kairiajame kampe paspausti mygtuką išsaugoti (disketą).

Mūsų makro FormulasToValues, kaip galite lengvai įsivaizduoti, konvertuoja formules į reikšmes iš anksto pasirinktame diapazone. Kartais šios makrokomandos taip pat vadinamos procedūros. Norėdami jį paleisti, turite pasirinkti langelius su formulėmis ir atidaryti specialų dialogo langą Makrokomandos iš skirtuko ryškalas (Kūrėjas – makrokomandos) arba spartusis klavišas Kitas+F8. Paprastai šiame lange rodomos galimos makrokomandos iš visų atidarytų darbaknygių, tačiau priedų makrokomandos čia nematomos. Nepaisant to, lauke galime įvesti savo procedūros pavadinimą makrokomandos pavadinimas (Makrokomandos pavadinimas)tada spustelėkite mygtuką paleisti (bėgti) – ir mūsų makrokomandos veiks:

    

Čia taip pat galite priskirti spartųjį klavišą, kad greitai paleistumėte makrokomandą – už tai atsakingas mygtukas Parametrai (Galimybės) ankstesniame lange Makro:

Priskirdami klavišus atminkite, kad jie yra jautrūs didžiosioms ir mažosioms raidėms ir klaviatūros išdėstymui. Taigi, jei priskirsite derinį kaip "Ctrl"+Й, tada, tiesą sakant, ateityje turėsite įsitikinti, kad įjungėte išdėstymą ir papildomai paspausti perėjimasgauti didžiąją raidę.

Patogumui taip pat galime pridėti savo makrokomandos mygtuką prie greitosios prieigos įrankių juostos viršutiniame kairiajame lango kampe. Norėdami tai padaryti, pasirinkite Failas – Parinktys – Greitos prieigos įrankių juosta (Failas – Parinktys – Tinkinti greitosios prieigos įrankių juostą), tada lango viršuje esančiame išskleidžiamajame sąraše parinktį Makrokomandos. Po to mūsų makrokomandas FormulasToValues mygtuku galima padėti ant skydelio papildyti (Pridėti) ir mygtuku pasirinkite jo piktogramą pokytis (Redaguoti):

4 veiksmas. Pridėkite funkcijų prie papildinio

Bet makroprocedūros, taip pat yra funkcijų makrokomandos arba kaip jie vadinami UDF (Vartotojo nustatyta funkcija = vartotojo apibrėžta funkcija). Sukurkime atskirą modulį mūsų priede (meniu komanda Įterpimas – modulis) ir įklijuokite ten šios funkcijos kodą:

Nesunku suprasti, kad ši funkcija reikalinga norint išskaičiuoti PVM nuo sumos su PVM. Žinoma, ne Niutono binominalas, bet jis mums pravers kaip pavyzdys, rodantis pagrindinius principus.

Atminkite, kad funkcijos sintaksė skiriasi nuo procedūros:

  • naudojama konstrukcija Funkcija …. Pabaigos funkcija užuot Sub … Pabaiga Sub
  • po funkcijos pavadinimo skliausteliuose nurodomi jos argumentai
  • funkcijos turinyje atliekami reikiami skaičiavimai ir tada rezultatas priskiriamas kintamajam su funkcijos pavadinimu

Taip pat atkreipkite dėmesį, kad ši funkcija nereikalinga ir dialogo lange neįmanoma paleisti kaip ankstesnės makrokomandos procedūros Makrokomandos ir mygtuką paleisti. Tokia makrokomanda turėtų būti naudojama kaip standartinė darbalapio funkcija (SUM, IF, VLOOKUP…), ty tiesiog įveskite bet kuriame langelyje, kaip argumentą nurodydami sumos reikšmę su PVM:

… arba įveskite per standartinį dialogo langą funkcijai įterpti (mygtukas fx formulės juostoje), pasirinkdami kategoriją Vartotojo apibrėžta (nustatyta naudotojo):

Vienintelis nemalonus momentas yra tai, kad lango apačioje nėra įprasto funkcijos aprašymo. Norėdami jį pridėti, turėsite atlikti šiuos veiksmus:

  1. Atidarykite „Visual Basic“ rengyklę naudodami spartųjį klavišą Kitas+F11
  2. Projekto skydelyje pasirinkite priedą ir paspauskite klavišą F2Norėdami atidaryti objektų naršyklės langą
  3. Lango viršuje esančiame išskleidžiamajame sąraše pasirinkite savo priedo projektą
  4. Dešiniuoju pelės mygtuku spustelėkite pasirodžiusią funkciją ir pasirinkite komandą Skelbimų.
  5. Lange įveskite funkcijos aprašymą Aprašymas
  6. Išsaugokite priedo failą ir paleiskite excel iš naujo.

Paleidus iš naujo, funkcija turėtų rodyti aprašą, kurį įvedėme:

5 veiksmas. Sąsajoje sukurkite priedo skirtuką

Paskutinis, nors ir neprivalomas, bet malonus prisilietimas bus atskiro skirtuko su mygtuku, skirto mūsų makrokomandai paleisti, sukūrimas, kuris bus rodomas Excel sąsajoje prijungus priedą.

Informacija apie skirtukus, kurie rodomi pagal numatytuosius nustatymus, yra knygoje ir turi būti suformatuota specialiu XML kodu. Lengviausias būdas parašyti ir redaguoti tokį kodą yra naudojant specialias programas - XML ​​redaktorius. Viena iš patogiausių (ir nemokamų) yra Maksimo Novikovo programa Juostos XML redaktorius.

Darbo su juo algoritmas yra toks:

  1. Uždarykite visus „Excel“ langus, kad nebūtų failų konflikto, kai redaguojame priedo XML kodą.
  2. Paleiskite Ribbon XML Editor programą ir atidarykite joje failą MyExcelAddin.xlam
  3. Su mygtuku skirtukai viršutiniame kairiajame kampe pridėkite naujo skirtuko kodo fragmentą:
  4. Reikia dėti tuščias kabutes id mūsų skirtuką ir grupę (bet kokius unikalius identifikatorius) ir į etiketė – mūsų skirtuko pavadinimai ir jame esančių mygtukų grupė:
  5. Su mygtuku mygtukas kairiajame skydelyje pridėkite tuščią mygtuko kodą ir pridėkite prie jo žymų:

    - etiketė yra tekstas ant mygtuko

    - vaizdasMso — tai sąlyginis vaizdo ant mygtuko pavadinimas. Naudojau raudono mygtuko piktogramą, pavadintą AnimationCustomAddExitDialog. Visų galimų mygtukų (o jų yra keli šimtai!) pavadinimus galima rasti daugelyje interneto svetainių, jei ieškote raktinių žodžių „imageMso“. Pradedantiesiems galite eiti čia.

    - onAction – taip vadinasi atgalinio ryšio procedūra – speciali trumpa makrokomanda, kuri paleis mūsų pagrindinę makrokomandą FormulasToValues. Šią procedūrą galite vadinti kaip tik norite. Pridėsime šiek tiek vėliau.

  6. Patikrinti viską, kas padaryta, teisingumą galite naudodami mygtuką su žalia varnele įrankių juostos viršuje. Toje pačioje vietoje spustelėkite mygtuką su diskeliu, kad išsaugotumėte visus pakeitimus.
  7. Uždarykite juostelės XML redaktorių
  8. Atidarykite „Excel“, eikite į „Visual Basic“ redaktorių ir pridėkite atgalinio ryšio procedūrą prie mūsų makrokomandos KillFormulaskad būtų vykdoma pagrindinė makrokomanda formulėms pakeisti reikšmėmis.
  9. Išsaugome pakeitimus ir, grįžę į „Excel“, patikriname rezultatą:

Tai viskas – priedas paruoštas naudoti. Užpildykite ją savo procedūromis ir funkcijomis, pridėkite gražių mygtukų – ir naudoti makrokomandas savo darbe taps daug lengviau.

  • Kas yra makrokomandos, kaip jas naudoti savo darbe, kur gauti makrokomandos kodą „Visual Basic“.
  • Kaip sukurti paleidimo ekraną atidarant darbaknygę programoje „Excel“.
  • Kas yra asmeninė makroknyga ir kaip ja naudotis

Palikti atsakymą