Excel VBA tarjoaa lukuisia sisäänrakennettuja toimintoja. Jotkut näistä Excel VBA -funktioista ottavat argumentteja, ja jotkut eivät.
Excel VBA -funktioesimerkkejä
Täältä löydät muutamia esimerkkejä VBA-funktioiden käyttämisestä koodissa. Monissa näistä esimerkeistä MsgBox-funktio näyttää arvon viestiruudussa. Kyllä, MsgBox on VBA-toiminto - melko epätavallinen, mutta toiminto siitä huolimatta. Tämä hyödyllinen toiminto näyttää viestin valintaikkunassa ja palauttaa myös arvon.
Näyttää järjestelmän päivämäärän tai kellonajan
Ensimmäinen esimerkki käyttää VBA:n päivämäärätoimintoa nykyisen järjestelmän päivämäärän näyttämiseen sanomaruudussa:
Sub ShowDate()
MsgBox "Tänään on: " & Päivämäärä
Lopeta ala
Huomaa, että Päivämäärä-funktio ei käytä argumenttia. Toisin kuin taulukkofunktiot, VBA-funktio, jossa ei ole argumenttia, ei vaadi tyhjiä sulkuja. Itse asiassa, jos kirjoitat tyhjän sulkujoukon, VBE poistaa ne välittömästi.
Käytä Time-toimintoa saadaksesi järjestelmän ajan. Ja jos haluat kaiken, käytä Nyt-toimintoa palauttaaksesi sekä päivämäärän että kellonajan.
Merkkijonon pituuden löytäminen
Seuraava menettely käyttää VBA Len -funktiota, joka palauttaa tekstimerkkijonon pituuden. Len-funktiolla on yksi argumentti: merkkijono. Kun suoritat tämän toimenpiteen, viestiruudussa näkyy nimesi ja nimessäsi olevien merkkien määrä.
Sub GetLength()
Dim MyName merkkijonona
Dim String Length As Long
OmaNimi = Sovellus.Käyttäjänimi
StringLength = Len(OmaNimi)
MsgBox MyName & " sisältää " & StringLength & " -merkkejä.
Lopeta ala
Nimesi pituuden laskeminen.
Excelissä on myös LEN-funktio, jota voit käyttää laskentataulukon kaavoissa. Excel-versio ja VBA-funktio toimivat samalla tavalla.
Näytetään kuukauden nimi
Seuraava menettely käyttää MonthName-funktiota, joka palauttaa kuukauden nimen. MonthName käyttää yhtä argumenttia: kokonaislukua välillä 1 ja 12.
Sub ShowMonthName()
Himmeä tässä kuussa niin kauan
Tämä kuukausi = kuukausi (päivämäärä)
MsgBox MonthName (Tämä kuukausi)
Lopeta ala
Tämä toimenpide käyttää Kuukausi-funktiota nykyisen kuukauden saamiseksi (arvona), ja tämä arvo määritetään ThisMonth-muuttujalle. KuukaudenNimi-funktio muuntaa sitten arvon tekstiksi. Joten jos suoritat tämän toimenpiteen huhtikuussa, viestiruudussa näkyy teksti Huhtikuu.
Itse asiassa ThisMonth-muuttujaa ei vaadita. Voit saada saman tehosteen tällä lausekkeella, joka käyttää kolmea VBA-funktiota:
Kuukauden nimi(kuukausi(päivämäärä))
Tässä nykyinen päivämäärä välitetään argumenttina Kuukausi-funktiolle, joka palauttaa arvon, joka on välitetty argumenttina KuukaudenNimi-funktiolle.
Tiedoston koon määrittäminen
Seuraava alitoiminto näyttää Excel-suoritettavan tiedoston koon tavuina. Se löytää tämän arvon käyttämällä FileLen-toimintoa:
Sub GetFileSize()
Himmeä TheFile merkkijonona
TheFile = "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
MsgBox FileLen(TheFile)
Lopeta ala
Huomaa, että tämä rutiini koodaa tiedostonimen (eli kertoo nimenomaisesti polun). Tämä ei ole hyvä idea. Tiedostoa ei ehkä ole C-asemassa tai Excel-kansiolla voi olla eri nimi. Seuraava lausunto osoittaa paremman lähestymistavan:
TheFile = Application.Path & "\EXCEL.EXE"
Polku on sovellusobjektin ominaisuus. Se yksinkertaisesti palauttaa sen kansion nimen, johon sovellus (eli Excel) on asennettu (ilman kenoviivaa).
Valitun objektin tyypin tunnistaminen
Seuraava menettely käyttää TypeName-funktiota, joka palauttaa laskentataulukon valinnan tyypin (merkkijonona):
Sub ShowSelectionType()
Dim SelType merkkijonona
SelType = TyypinNimi (valinta)
MsgBox SelType
Lopeta ala
Valinta voi olla alue, kuva, suorakulmio, kaavioalue tai mikä tahansa muu objekti, joka voidaan valita.
TypeName-toiminto on erittäin monipuolinen. Voit käyttää tätä funktiota myös muuttujan tietotyypin määrittämiseen.
Excel VBA -funktiot, jotka tekevät muutakin kuin palauttavat arvon
Muutama VBA-toiminto ylittää vaatimuksen. Pelkän arvon palauttamisen sijaan näillä funktioilla on hyödyllisiä sivuvaikutuksia.
VBA-toiminnot hyödyllisillä sivueduilla
Toiminto |
Mitä se tekee |
MsgBox |
Näyttää kätevän valintaikkunan, joka sisältää viestin ja painikkeet. Funktio palauttaa koodin, joka tunnistaa mitä painiketta käyttäjä klikkaa. |
InputBox |
Näyttää yksinkertaisen valintaikkunan, joka pyytää käyttäjältä syötteitä. Funktio palauttaa sen, mitä käyttäjä kirjoittaa valintaikkunaan. |
Kuori |
Suorittaa toisen ohjelman. Funktio palauttaa toisen ohjelman tehtävätunnuksen (yksilöllisen tunnisteen) (tai virheen, jos funktio ei voi käynnistää toista ohjelmaa). |
Tutustu Excel VBA -toimintoihin
Mistä saat selville, mitä toimintoja VBA tarjoaa? Hyvä kysymys. Paras lähde on Excel VBA - järjestelmä . Toinen tapa on kirjoittaa VBA ja sen jälkeen piste. Saat luettelon kohteista. Ne, joissa on vihreä kuvake, ovat toimintoja. Jos tämä ominaisuus ei toimi, valitse VBE:n työkalut → Asetukset, napsauta Editor-välilehteä ja merkitse valintamerkki Automaattinen luettelon jäsenten viereen.
Tapa näyttää luettelo VBA-toiminnoista.
VBA:ssa on yli 140 erilaista toimintoa. Jotkut ovat niin erikoistuneita ja epäselviä, ettet koskaan tarvitse niitä. Toiset ovat kuitenkin varsin hyödyllisiä monissa sovelluksissa.
Excel VBA:n hyödyllisimmät sisäänrakennetut toiminnot
Toiminto |
Mitä se tekee |
Abs |
Palauttaa luvun itseisarvon |
Array |
Palauttaa muunnelman, joka sisältää taulukon |
Valita |
Palauttaa arvon kohdeluettelosta |
Chr |
Muuntaa ANSI-arvon merkkijonoksi |
CurDir |
Palauttaa nykyisen polun |
Päivämäärä |
Palauttaa nykyisen järjestelmän päivämäärän |
Lisäyspäivämäärä |
Palauttaa päivämäärän, johon on lisätty tietty aikaväli – esimerkiksi yksi kuukausi tietystä päivämäärästä |
DateDiff |
Palauttaa kokonaisluvun, joka näyttää kahden päivämäärän välisten tiettyjen aikavälien määrän – esimerkiksi kuukausien määrän tämän hetken ja syntymäpäiväsi välillä |
DatePart |
Palauttaa kokonaisluvun, joka sisältää määritetyn osan tietystä päivämäärästä - esimerkiksi päivämäärän vuoden päivä |
PäivämääräSerial |
Muuntaa päivämäärän sarjanumeroksi |
DateValue |
Muuntaa merkkijonon päivämääräksi |
Päivä |
Palauttaa kuukauden päivän päivämääräarvosta |
Ohjaus |
Palauttaa mallia vastaavan tiedoston tai hakemiston nimen |
Err |
Palauttaa virheehdon virhenumeron |
Virhe |
Palauttaa virheilmoituksen, joka vastaa virhenumeroa |
Exp |
Palauttaa luonnollisen logaritmin (e) kantaluvun korotettuna potenssiin |
FileLen |
Palauttaa tiedoston tavujen määrän |
Korjata |
Palauttaa luvun kokonaislukuosan |
Muoto |
Näyttää lausekkeen tietyssä muodossa |
GetSetting |
Palauttaa arvon Windowsin rekisteristä |
Tunnin |
Palauttaa ajan tuntiosan |
InputBox |
Näyttää ruudun, joka pyytää käyttäjää syöttämään |
InStr |
Palauttaa merkkijonon sijainnin toisessa merkkijonossa (lasketaan alusta) |
InStrRev |
Palauttaa merkkijonon sijainnin toisessa merkkijonossa (laskettuna lopusta) |
Int |
Palauttaa luvun kokonaislukuosan |
IsArray |
Palauttaa True, jos muuttuja on taulukko |
IsDate |
Palauttaa True-arvon, jos lauseke on päivämäärä |
On tyhjä |
Palauttaa True-arvon, jos muuttujaa ei ole alustettu |
IsError |
Palauttaa True-arvon, jos lauseke on virhearvo |
Puuttuu |
Palauttaa True-arvon, jos valinnaista argumenttia ei ole välitetty proseduurille |
IsNull |
Palauttaa True-arvon, jos lauseke ei sisällä kelvollisia tietoja |
IsNumeric |
Palauttaa True, jos lauseke voidaan arvioida numerona |
LBound |
Palauttaa taulukon ulottuvuuden pienimmän alaindeksin |
LCase |
Palauttaa pieniksi kirjaimiksi muunnetun merkkijonon |
Vasen |
Palauttaa tietyn määrän merkkejä merkkijonon vasemmalta puolelta |
Len |
Palauttaa merkkijonon merkkien määrän |
Mid |
Palauttaa tietyn määrän merkkejä merkkijonosta |
Minuutti |
Palauttaa aika-arvon minuuttiosuuden |
Kuukausi |
Palauttaa kuukauden päivämäärän arvosta |
MsgBox |
Näyttää viestiruudun ja (valinnaisesti) palauttaa arvon |
Nyt |
Palauttaa nykyisen järjestelmän päivämäärän ja kellonajan |
Korvata |
Korvaa merkkijonon alimerkkijonon toisella alimerkkijonolla |
RGB |
Palauttaa väriä edustavan numeerisen RGB-arvon |
Oikein |
Palauttaa tietyn määrän merkkejä merkkijonon oikealta puolelta |
Rnd |
Palauttaa satunnaisluvun väliltä 0 ja 1 |
Toinen |
Palauttaa aika-arvon sekuntiosuuden |
Kuori |
Suorittaa suoritettavaa ohjelmaa |
Avaruus |
Palauttaa merkkijonon, jossa on tietty määrä välilyöntejä |
Jakaa |
Jakaa merkkijonon osiin käyttämällä rajausmerkkiä |
Sqr |
Palauttaa luvun neliöjuuren |
merkkijono |
Palauttaa toistuvan merkin tai merkkijonon |
Aika |
Palauttaa nykyisen järjestelmän ajan |
Ajastin |
Palauttaa sekuntien määrän keskiyöstä |
TimeSerial |
Palauttaa tietyn tunnin, minuutin ja sekunnin ajan |
TimeValue |
Muuntaa merkkijonon aikasarjanumeroksi |
Trimmata |
Palauttaa merkkijonon ilman alku- tai loppuvälilyöntejä |
TyyppiNimi |
Palauttaa merkkijonon, joka kuvaa muuttujan tietotyyppiä |
UBound |
Palauttaa suurimman saatavilla olevan alaindeksin taulukon ulottuvuudelle |
UCase |
Muuntaa merkkijonon isoiksi kirjaimiksi |
Val |
Palauttaa merkkijonoon sisältyvät numerot |
Viikonpäivä |
Palauttaa luvun, joka edustaa viikonpäivää |
vuosi |
Palauttaa vuoden päivämääräarvosta |
Saat täydelliset tiedot tietystä Excelin VBA-funktiosta kirjoittamalla funktion nimen VBA-moduuliin, siirtämällä kohdistinta mihin tahansa tekstissä ja painamalla F1-näppäintä.