Tässä opetusohjelmassa selitetään, miten voit luoda käyttäjän määrittämiä toimintoja VBA: ssa.
VBA koostuu alimenettelyistä ja toimintamenettelyistä. Toimintomenettelyt palauttavat arvon, ja ne voidaan kutsua alimenettelyillä tai niitä voidaan käyttää Excel -taulukossa, jossa funktion tuottama arvo palautetaan Excel -taulukkoon. Excelissä on tietysti joukko sisäänrakennettuja toimintoja, kuten Sum -funktio tai If -toiminto. VBA: ssa kirjoittamiasi toimintamenettelyjä käytetään samalla tavalla kuin sisäänrakennettua toimintoa, ja niitä kutsutaan käyttäjän määrittämiksi funktioiksi (UDF).
Miksi luoda UDF?
Vaadittu toiminto puuttuu
Yksi tärkeimmistä syistä UDF: n luomiseen Excelissä on se, että olemassa olevaa sisäänrakennettua toimintoa ei ole, joka hoitaa tehtävän puolestasi. Oman toiminnon kirjoittaminen VBA: ssa on yleensä tehokkain tapa ratkaista ongelma. Alla oleva toiminto muuntaa arvon kilogrammoista kiloiksi, jos muuttujan parametria (dblKilo) käytetään kilogrammojen arvon saamiseen laskemista varten.
Korvaa alirutiini (makro)
Voit kirjoittaa alimenettelyn (makron) ratkaistaksesi tehtävän puolestasi - mutta alimenettelyt eivät palauta arvoa eivätkä ne ole dynaamisia - toisin sanoen, jos laskentataulukon arvot muuttuvat, sinun on suoritettava makro, jotta makron laskelmat voivat päivittää tietosi. Alla oleva alimenettely muuntaa myös kilomme kiloiksi, mutta joka kerta, kun tiedot muuttuvat A1: ssä, sinun on suoritettava makro uudelleen päivittääksesi tuloksen.
Vaihda kaava
Sinulla voi olla Excelissä todella monimutkainen kaava, jota sinun on käytettävä toistuvasti - kaavan asettaminen VBA -koodiin helpottaa lukemista ja ymmärtämistä - sekä ehkä poistaa tilaa käyttäjävirheille kaavan kirjoittamisessa.
UDF -tiedostojen luominen
Luo UDF lisäämällä ensin moduuli joko Excel -työkirjaasi tai, jos sinulla on henkilökohtainen makro -työkirja, voit joko käyttää olemassa olevaa moduulia tai lisätä uuden. Tätä varten sinun on oltava Visual Basic Editorissa (VBE). Pääset VBE -laitteeseen painamalla ALT + F11 tai napsauta nauhan Kehittäjä -välilehden Visual Basic -vaihtoehtoa.
KÄRKI: Jos kehittäjä -välilehti ei ole käytössä valintanauhassa, siirry osoitteeseen Tiedosto, Asetukset ja napsauta Muokkaa nauhaa. Varmista, että Kehittäjä -valintaruutu on valittuna ja napsauta OK.
Jos haluat lisätä uuden moduulin, valitse VBA -projekti, johon haluat lisätä moduulin (joko nykyisen kirjan VBA -projekti tai henkilökohtainen makro -työkirja), napsauta Lisää Valikko ja napsauta Moduuli
Kun olet luonut moduulin, voit aloittaa UDF: n luomisen.
Kaikki UDF: t alkavat funktiolla ja sen jälkeen UDF: n nimellä. Toiminnot voivat olla yksityisiä tai julkisia, mutta yleensä haluat, että UDF on julkinen, jotta ne näkyvät Excelin Lisää toiminto -valintaikkunassa (katso toiminnon käyttäminen Excel -taulukon alla tässä artikkelissa). Jos et aseta yksityistä avainsanaa toiminnon eteen, toiminto on automaattisesti julkinen.
123 | Toiminto TestFunction1 (intA As Integer) kokonaislukunaTestitoiminto1 = intA * 7Lopeta toiminto |
Yllä olevalla funktiolla on yksi argumentti (intA). Voit luoda funktion, jossa on useita argumentteja
123 | Toimintotesti Toiminto2 (intA kokonaislukuna, intB kokonaislukuna, intC kokonaislukuna) kokonaislukunaTestitoiminto2 = (intA * intB) + intCLopeta toiminto |
Voit myös luoda funktion valinnaisilla argumentteilla. Jos argumentti jätetään pois, voit asettaa funktion argumentille oletusarvon.
123 | Toimintotesti Toiminto3 (intA kokonaislukuna, intB kokonaislukuna, valinnainen intC kokonaislukuna = 10) kokonaislukunaTestitoiminto3 = (intA * intB) + intCLopeta toiminto |
Toiminnon käyttäminen Excel -taulukosta
Luomasi toiminnot näkyvät oletusarvoisesti toimintoluettelossasi toimintoluettelon Käyttäjän määrittämässä osassa.
Klikkaa fx Lisää toiminto -valintaikkuna.
Valitse Käyttäjän määrittelemä kategorialuettelosta
Valitse haluamasi toiminto käytettävissä olevista Käyttäjän määrittämät toiminnot.
Vaihtoehtoisesti, kun aloitat funktion kirjoittamisen Exceliin, toiminnon pitäisi näkyä avattavassa toimintoluettelossa.
Toimintojen tallentaminen Excel -tiedoston kanssa
Koska toiminnot on kirjoitettu VBA -koodilla, on selvää, että koodin on oltava työkirjan käytettävissä, jotta sitä voidaan käyttää Excel -taulukossa. Voit joko tallentaa toiminnot työkirjaan, jossa käytät niitä, tai voit tallentaa ne henkilökohtaiseen makro -työkirjaasi. Henkilökohtainen makro -työkirjasi on piilotettu tiedosto, joka on käytettävissä aina, kun Excel on avoinna, ja siksi se on kaikkien Excel -työkirjojen käytettävissä. Se luodaan yleensä, kun tallennat makron ja valitset vaihtoehdon makron tallentamiseen henkilökohtaiseen makro -työkirjaan.
Jos haluat säilyttää toiminnot työkirjassa, jota käsittelet, sinun on varmistettava, että kun tallennat työkirjan, se tallennetaanMakro käytössä työkirja’Tai an xlsm tiedosto.