Kaip naudoti „Excel“ priedų funkcijas VBA

Jei sukūrėte priedą, kuriame yra jūsų pasirinktinės „Excel“ funkcijos, galbūt pastebėjote, kad nors funkcijos puikiai veikia „Excel“ darbalapyje, negalite jų naudoti savo VBA procedūrose kitose darbaknygėse. Tarsi „Visual Basic“ redaktorius negalėtų pamatyti juos. Na, taip yra todėl, kad negali! Šiame straipsnyje paaiškinta, kaip tai išspręsti.

Pirmiausia pagalvokite, ar tikrai norite tai padaryti. Priedai pirmiausia skirti papildomoms funkcijoms pridėti prie jūsų darbo knygų. Kai įkeliate „Excel“ priedą, jo funkcijos iškart tampa prieinamos visoms jūsų darbaknygėms. Jei sukuriate VBA procedūrą, kuri priklauso nuo pasirinktos funkcijos, esančios kitoje darbaknygėje, ta kita darbaknygė turi būti atidaryta, kai tik norite naudoti jos funkciją. Tas pats pasakytina apie papildinio papildomą funkciją. Jei priedas įkeliamas, tai gerai, bet jei jūs siunčiate savo darbaknygę kam nors kitam arba išplatinate ją savo darbo grupei. Jūs taip pat turite nepamiršti platinti priedo. Gali būti paprasčiau įtraukti funkcijos kopiją į darbaknygės kodą, kad jūsų procedūros turėtų tiesioginę prieigą prie jos (gali tekti tai padaryti Privati ​​funkcija arba pakeiskite jo pavadinimą, kad išvengtumėte pavadinimų konfliktų).

Aš nesakau, kad to nedaryk. Jums tereikia pirmiausia apie tai pagalvoti, ir jei esate tikri, kad priedas bus pasiekiamas, tada pirmyn. Štai kaip…

Kada iškyla problema?

Rašau procedūrą vienai iš savo darbo knygų. Savo procedūroje noriu naudoti RemoveSpaces funkcija, kurią sukūriau prieš kurį laiką ir išsaugojau savo Martyno funkcijos Priedas, kuris šiuo metu įdiegtas mano „Excel“ kopijoje. Bet kai bandau atlikti procedūrą, gaunu klaidą.

„Visual Basic“ redaktorius elgiasi taip, tarsi šios funkcijos nebūtų, bet aš žinau, kad ji egzistuoja, ir aš galiu ją pamatyti, jei pažvelgsiu į savo priedo kodą. Tiesą sakant, kodas veikia gerai, jei jį paleidžiu iš savo priedo.

Man reikia „Visual Basic“ redaktoriaus, kad galėčiau pamatyti mano priedo funkcijas iš kodo modulio a skirtingi darbo knyga.

Suteikite savo priedui VBA projekto pavadinimą

Kiekviena darbo knyga turi VBA projekto pavadinimas. Tai vadinama VBAProject. Jei norite, galite pakeisti šį pavadinimą, bet paprastai aš nesivarginu, nes paprastai tai nesvarbu.

Ar kada susimąstėte, kodėl visos darbaknygės rodomos Projektų tyrinėtojas „Visual Basic“ redaktoriaus sritis vadinama „VBAProject"? Jei turite įdiegtą" Microsoft "priedą, pamatysite, kad jis turi kitą pavadinimą." Microsoft "kūrėjai pateikė savo Analizės įrankių paketas Pridėkite VBA projekto pavadinimą "pramogos".

Pirmas dalykas, kurį reikia padaryti, yra suteikti savo priedui unikalų VBA projekto pavadinimą. Taip yra todėl, kad kitame veiksme ketinate jį vadinti tokiu pavadinimu ir jei yra daugiau nei vienas tuo pačiu pavadinimu, „Visual Basic“ redaktorius nežinos, kurį naudoti.

Viduje konors Projektų tyrinėtojas srityje pasirinkite savo priedo pavadinimą. Jei jis dar nėra atidarytas, rodykite „Visual Basic“ redaktorių Ypatybių langas. Pamatysite, kad yra tik viena nuosavybė vardas. Įveskite kitą vardą ir paspauskite Įveskite. Turėsite paisyti įprastų VBA pavadinimo taisyklių (t. Y. Neleistinų simbolių ir tarpų). Pamatysite, kad pavadinimas iškart pritaikomas Projektų tyrinėtojas.

Dabar išsaugokite savo priedo pakeitimus. Įsitikinkite, kad jūsų priedas pasirinktas skiltyje Projektų tyrinėtojas ir pasirinkti Failas> Išsaugoti.

Nustatykite nuorodą į priedą

Šiame žingsnyje nurodote darbaknygei, kurioje norite naudoti priedo funkcijas, kad priedas egzistuoja. Jūs tai darote iki Nuorodos nustatymas į Priedą. Galbūt esate susidūrę su šia technika anksčiau, jei norėjote parašyti „Excel“ kodą, kad galėtumėte bendrauti su kita programa, pvz „Outlook“ arba Prieiga.

Jei tai patogu, šiuo metu iš naujo paleiskite „Excel“. Taip yra todėl, kad jūsų pervadintas priedas bus įkeliamas iš naujo ir sąrašas, kurį ketinate matyti, bus atnaujintas. Jei tai nėra patogu, nesijaudinkite … perskaitykite kitą pastraipą ir nuspręskite, ką norite daryti.

Darbo knygoje atidarykite kodo modulį, kuriame norite naudoti priedo funkcijas, tada eikite į Įrankiai> Nuorodos atidaryti Nuorodos dialogo lange, kuriame pamatysite visų bibliotekų ir kitų objektų (pvz., priedų), į kuriuos galite nustatyti nuorodą, sąrašą. Jei iš naujo paleidote „Excel“, šis sąrašas bus atnaujintas ir galėsite rasti projekto pavadinimą, kurį paskutinį kartą nurodėte savo priedui. Pažymėkite langelį šalia pavadinimo ir spustelėkite Gerai mygtuką.

Jei nepaleidote „Excel“ iš naujo, turėsite rasti savo priedo failą spustelėdami Naršyti mygtuką ant Nuorodos dialogo langas. Tai atveria Pridėti nuorodą langas. Pakeisti Failų tipas: skyrių į „Microsoft Excel“ failai (*. Xls;*. Xla) tada eikite į aplanką, kuriame saugomas priedas.

Pasirinkite savo priedą ir spustelėkite Atviras. Tai prideda jūsų priedą prie sąrašo, kuriame galite jį pasirinkti ir spustelėti Gerai.

PASTABA: jums nereikia atlikti abiejų šių procedūrų! Pasirinkite vieną ar kitą, priklausomai nuo to, ar pakeitėte priedo VBA projekto pavadinimą, ar iš naujo paleidote „Excel“.

Dabar galėsite naudoti priedo funkcijas bet kuriame darbo knygos modulyje, kuriame nustatėte nuorodą, ir jas atpažins „Visual Basic“ redaktorius …

Jei pažvelgsite į Projektų tyrinėtojas pamatysite, kad nuoroda buvo pritaikyta darbo knygai …

Svarbu prisiminti, kad nuorodos pridėjimas taikomas tik darbaknygei, kuriai atlikote šią procedūrą. Turėsite tai padaryti kiekvienai skirtingai darbo knygai, kurioje norite naudoti priedo funkcijas.

Apie failų platinimą

Kai įtraukiate nuorodą į priedą, ši nuoroda į priedą yra „prijungta“ prie failo. Jei perkelsite failą į kitą kompiuterį arba išplatinsite jį savo bendradarbiams, darbaknygė tikėsis rasti tą patį priedą toje pačioje vietoje savo kompiuteriuose. Be to, jei priedas perkeltas arba ištrintas iš kompiuterio, darbaknygė jo neras ir jūsų kodas neveiks.

Kai kurie žmonės pasisako už tai, kad failas ir su juo susijęs priedas visada būtų tame pačiame aplanke, kad būtų išvengta galimų problemų. Žinoma, galite dar kartą nustatyti nuorodą, kad išspręstumėte problemą.

Atsižvelkite į šiuos veiksnius ir problemų nekils.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave