Jos olet rakentanut apuohjelman, joka sisältää mukautettuja Excel-toimintojasi, olet ehkä huomannut, että vaikka toiminnot toimivat hyvin Excel-laskentataulukossa, et voi käyttää niitä muiden työkirjojen VBA-menettelyissä. Aivan kuin Visual Basic Editor ei pystyisi katso niitä. No, koska se ei voi! Tässä artikkelissa kerrotaan, kuinka voit korjata sen.
Mieti ensin, haluatko todella tehdä tämän. Apuohjelmat on tarkoitettu ensisijaisesti lisätoimintojen lisäämiseen työkirjoihin. Kun lataat Excel-apuohjelman, sen toiminnot ovat heti kaikkien työkirjojen käytettävissä. Jos luot VBA -menettelyn, joka riippuu toisessa työkirjassa olevasta mukautetusta toiminnosta, toisen työkirjan pitäisi olla auki aina, kun haluat käyttää sen toimintoa. Sama koskee lisäosan mukautettua toimintoa. Jos apuohjelma on ladattu, se on hyvä, mutta olettaen, että lähetät työkirjasi jollekin toiselle tai jaat sen työryhmällesi. Sinun on myös muistettava jakaa lisäosa. Voi olla yksinkertaisempaa sisällyttää kopio toiminnosta työkirjan koodiin, jotta menettelyilläsi on suora pääsy siihen (sinun on ehkä tehtävä siitä Yksityinen toiminto tai muuta sen nimeä, jotta vältytään nimiristiriidoilta).
En sano, ettet tee sitä. Sinun tarvitsee vain miettiä sitä ensin, ja jos olet varma, että apuohjelma on saatavilla, jatka sitten. Näin voit…
Milloin ongelma ilmenee?
Kirjoitan menettelyä yhdelle työkirjalleni. Toimenpiteessäni haluan käyttää RemoveSpaces toiminto, jonka loin jokin aika sitten ja tallensin omaan Martinin toiminnot Apuohjelma, joka on tällä hetkellä asennettu Excel-kopioon. Mutta kun yritän suorittaa menettelyni, saan virheilmoituksen.
Visual Basic Editor käyttäytyy ikään kuin toimintoa ei olisi, mutta tiedän sen olevan ja näen sen, jos tarkastelen apuohjelmani koodia. Itse asiassa koodi toimii hyvin, jos suoritan sen apuohjelman sisältä.
Tarvitsen Visual Basic Editorin voidakseni katso apuohjelmani toiminnot a eri työkirja.
Anna lisäosalle VBA-projektin nimi
Jokaisessa työkirjassa on VBA -projektin nimi. Sitä kutsutaan VBAProject. Voit vaihtaa nimen, jos haluat, mutta yleensä en vaivaudu, koska yleensä sillä ei ole väliä.
Oletko koskaan miettinyt, miksi kaikki työkirjat näkyvät Project Explorer Visual Basic Editorin ruutua kutsutaan "VBAProject"? Jos sinulla on jokin Microsoftin apuohjelma asennettuna, näet, että sillä on eri nimi. Microsoftin kehittäjät ovat antaneet Analysis ToolPak Lisäosa VBA-projektin nimeen "huvipuistot".
Ensimmäinen asia on antaa lisäosalle ainutlaatuinen VBA-projektinimi. Tämä johtuu siitä, että aiot viitata siihen tällä nimellä seuraavassa vaiheessa ja jos samannimisiä on useampi kuin yksi, Visual Basic Editor ei tiedä, mitä käyttää.
Kohteessa Project Explorer Valitse laajennuksen nimi. Jos se ei ole vielä auki, näytä Visual Basic Editor's Ominaisuudet -ikkuna. Näet, että on vain yksi ominaisuus, Nimi. Kirjoita toinen nimi ja paina Tulla sisään. Sinun on noudatettava VBA: n tavanomaisia nimeämissääntöjä (eli ei laittomia merkkejä tai välilyöntejä). Näet, että nimi otetaan välittömästi käyttöön Project Explorer.
Tallenna nyt muutokset apuohjelmaasi. Varmista, että apuohjelma on valittuna Project Explorer ja valitse Tiedosto> Tallenna.
Aseta viite apuohjelmaan
Tässä vaiheessa kerrot työkirjalle, jossa haluat käyttää apuohjelman toimintoja, että apuohjelma on olemassa. Teet tämän mennessä Viitteen asettaminen apuohjelmaan. Olet ehkä törmännyt tähän tekniikkaan aiemmin, jos olet halunnut kirjoittaa Excel -koodin kommunikoidaksesi toisen ohjelman, kuten Näkymät tai Pääsy.
Jos se on kätevää, käynnistä Excel uudelleen tässä vaiheessa. Tämä johtuu siitä, että uudelleen nimeämäsi apuohjelma ladataan uudelleen ja luettelo, jonka näet, päivitetään. Jos se ei ole kätevää, älä vaivaudu… lue seuraava kappale ja päätä mitä haluat tehdä.
Avaa koodimoduuli työkirjassa, jossa haluat käyttää apuohjelman toimintoja, ja siirry sitten kohtaan Työkalut> Viitteet avata Viitteet valintaikkuna, jossa näet luettelon kaikista kirjastoista ja muista objekteista (kuten apuohjelmista), joihin voit asettaa viitteen. Jos olet käynnistänyt Excelin uudelleen, tämä luettelo on päivitetty ja löydät projektin nimen, jonka annoit lisäosalle viimeisessä vaiheessa. Laita rasti nimen vieressä olevaan ruutuun ja napsauta OK -painiketta.
Jos et käynnistänyt Exceliä uudelleen, sinun on löydettävä apuohjelmatiedosto napsauttamalla Selaa -painiketta Viitteet valintaikkuna. Tämä avaa Lisää viite ikkuna. Muuta Tiedostotyypit: osioon Microsoft Excel -tiedostot (*. Xls;*. Xla) selaa kansioon, johon apuohjelma on tallennettu.
Valitse lisäosa ja napsauta Avata. Tämä lisää laajennuksesi luetteloon, josta voit valita sen ja napsauttaa sitä OK.
HUOMAUTUS: Sinun ei tarvitse tehdä molempia toimenpiteitä! Valitse yksi tai toinen sen mukaan, oletko käynnistänyt Excelin uudelleen lisäosan VBA-projektin nimen muuttamisen jälkeen.
Nyt voit käyttää apuohjelman toimintoja missä tahansa työkirjan moduulissa, johon asetat viitteen, ja Visual Basic Editor tunnistaa ne …
Jos katsot Project Explorer näet, että työkirjaan on lisätty viite …
On tärkeää muistaa, että viittauksen lisääminen koskee vain työkirjaa, jolle teit tämän toimenpiteen. Sinun on tehtävä se jokaiselle työkirjalle, jossa haluat käyttää apuohjelman toimintoja.
Tietoja tiedostojen jakelusta
Kun lisäät viittauksen apuohjelmaan, tämä linkki apuohjelmaan on "kiinteä" tiedostoon. Jos siirrät tiedoston toiseen tietokoneeseen tai jaat sen työtovereillesi, työkirja odottaa löytävänsä saman apuohjelman samasta paikasta tietokoneillaan. Lisäksi, jos apuohjelma siirretään tai poistetaan tietokoneesta, työkirja ei löydä sitä ja koodisi ei toimi.
Jotkut ihmiset kannattavat, että tiedosto ja siihen liittyvä apuohjelma sijoitetaan aina samaan kansioon, jotta vältetään tämän aiheuttamat ongelmat. Voit tietysti asettaa viitteen uudelleen korjaamaan ongelman.
Ota nämä tekijät huomioon, niin sinulla ei ole ongelmia.