Kako uporabljati svoje dodatke Excel v VBA

Kazalo:

Anonim

Če ste zgradili dodatek, ki vsebuje vaše Excelove funkcije po meri, ste morda ugotovili, da čeprav funkcije delujejo v redu na Excelovem delovnem listu, jih ne morete uporabljati v postopkih VBA v drugih delovnih zvezkih. Kot da urejevalnik Visual Basic ne more glej njim. No, to je zato, ker ne more! Ta članek pojasnjuje, kako lahko to popravite.

Najprej razmislite, ali to res želite narediti. Dodatki so namenjeni predvsem dodajanju dodatnih funkcij vašim delovnim zvezkom. Ko naložite dodatek Excel, njegova funkcionalnost takoj postane na voljo vsem vašim delovnim zvezkom. Če ustvarite postopek VBA, ki je odvisen od funkcije po meri v drugem delovnem zvezku, bi moral biti ta drugi delovni zvezek odprt, kadar koli želite uporabiti njegovo funkcijo. Enako velja za funkcijo po meri v dodatku. Če je dodatek naložen, je to v redu, če pa delovni zvezek pošljete komu drugemu ali ga razdelite svoji delovni skupini. Ne pozabite distribuirati tudi dodatka. Morda bi bilo lažje vključiti kopijo funkcije v kodo delovnega zvezka, da bodo imeli vaši postopki neposreden dostop do nje (morda boste morali Zasebna funkcija ali spremenite ime, da se izognete sporom pri imenovanju).

Ne pravim, da tega ne storite. Najprej morate razmisliti o tem in če ste prepričani, da bo dodatek na voljo, potem pojdite naprej. Takole…

Kdaj nastane problem?

Pišem postopek za enega od svojih delovnih zvezkov. V svojem postopku želim uporabiti RemoveSpaces funkcijo, ki sem jo ustvaril pred časom in shranil v mapo Martinove funkcije Dodatek, ki je trenutno nameščen v moji kopiji Excela. Ko pa poskušam zagnati postopek, dobim napako.

Urejevalnik Visual Basic se obnaša, kot da funkcija ne obstaja, vendar vem, da obstaja, in to vidim, če pogledam kodo v svojem dodatku. Pravzaprav koda dobro deluje, če jo zaženem v svojem dodatku.

Za to potrebujem urejevalnik Visual Basic glej funkcije v mojem dodatku v kodnem modulu a drugačen delovni zvezek.

Dajte svojemu dodatku ime projekta VBA

Vsak delovni zvezek ima Ime projekta VBA. To se imenuje VBAProject. To ime lahko spremenite, če želite, vendar običajno ne motim, ker običajno ni pomembno.

Ste se kdaj vprašali, zakaj so vsi delovni zvezki prikazani v Raziskovalec projektov podokno vizualnega osnovnega urejevalnika se imenuje "VBAProject"? Če imate nameščen kateri koli Microsoftov dodatek, boste videli, da imajo drugačno ime. Microsoftovi razvijalci so dali Analiza ToolPak Dodatek za ime projekta VBA "funcres".

Najprej morate svojemu dodatku dati edinstveno ime projekta VBA. To je zato, ker se boste v naslednjem koraku sklicevali na to ime in če obstaja več z istim imenom, urejevalnik Visual Basic ne bo vedel, katerega naj uporabi.

V Raziskovalec projektov podoknu izberite ime svojega dodatka. Če še ni odprt, odprite urejevalnik Visual Basic Okno lastnosti. Videli boste, da obstaja samo ena lastnost, Ime. Vnesite drugo ime in pritisnite Vnesite. Upoštevati morate običajna pravila poimenovanja za VBA (tj. Brez nedovoljenih znakov in presledkov). Videli boste, da je ime takoj uporabljeno v Raziskovalec projektov.

Zdaj shranite spremembe v svoj dodatek. Prepričajte se, da je vaš dodatek izbran v Raziskovalec projektov in izberite Datoteka> Shrani.

Nastavite sklic na dodatek

V tem koraku povejte delovnemu zvezku, v katerem želite uporabljati funkcije dodatka, da dodatek obstaja. To naredite do Nastavitev reference na dodatek. S to tehniko ste morda že naleteli, če ste želeli napisati Excelovo kodo za komunikacijo z drugim programom, kot je npr Outlook ali Dostop.

Če je primerno, na tem mestu znova zaženite Excel. To je zato, ker se bo vaš preimenovani dodatek znova naložil in seznam, ki ga boste videli, se bo osvežil. Če ni priročno, se ne obremenjujte … preberite naslednji odstavek in se odločite, kaj želite narediti.

Odprite kodni modul v delovnem zvezku, v katerem želite uporabljati funkcije dodatka, nato pojdite na Orodja> Reference odpreti Reference pogovorno okno, kjer boste videli seznam vseh knjižnic in drugih predmetov (na primer dodatkov), na katere lahko nastavite referenco. Če ste znova zagnali Excel, bo ta seznam osvežen in lahko boste našli ime projekta, ki ste ga dali svojemu dodatku v zadnjem koraku. V polje poleg imena vnesite kljukico in kliknite ikono v redu gumb.

Če niste znova zagnali Excela, boste morali datoteko dodatka poiskati s klikom na Brskanje gumb na Reference pogovorno okno. S tem se odpre Dodaj referenco okno. Spremenite Datoteke vrste: odsek do Datoteke Microsoft Excel (*. Xls;*. Xla) nato poiščite mapo, v kateri je shranjen dodatek.

Izberite svoj dodatek in kliknite Odprto. S tem dodate svoj dodatek na seznam, kjer ga lahko izberete in kliknete v redu.

OPOMBA: Oba postopka vam ni treba izvesti! Izberite eno ali drugo, odvisno od tega, ali ste znova zagnali Excel, potem ko ste spremenili ime projekta VBA dodatka.

Zdaj boste lahko uporabljali funkcije dodatka v katerem koli modulu v delovnem zvezku, v katerem ste nastavili sklic, in jih bo urejal urejevalnik Visual Basic …

Če pogledate Raziskovalec projektov videli boste, da je bil sklic uporabljen v delovnem zvezku …

Pomembno si je zapomniti, da dodajanje sklica velja samo za delovni zvezek, za katerega ste izvedli ta postopek. To boste morali narediti za vsak drug delovni zvezek, v katerem želite uporabljati funkcije dodatka.

O distribuciji datotek

Ko dodate sklic na dodatek, je ta povezava do dodatka v datoteki "trdno povezana". Če datoteko premaknete v drug računalnik ali jo razdelite sodelavcem, bo delovni zvezek pričakoval, da bo na svojem računalniku našel isti dodatek na istem mestu. Če dodatek premaknete ali izbrišete iz računalnika, ga delovni zvezek ne bo mogel najti in vaša koda ne bo delovala.

Nekateri zagovarjajo, da morata biti datoteka in z njo povezani dodatek vedno v isti mapi, da bi se izognili težavam, ki bi jih to lahko povzročilo. Seveda lahko referenco znova nastavite, da odpravite težavo.

Upoštevajte te dejavnike in ne boste imeli težav.