Excel VBA ponuja številne vgrajene funkcije. Nekatere od teh funkcij Excel VBA sprejemajo argumente, nekatere pa ne.
Primeri funkcij Excel VBA
Tukaj najdete nekaj primerov uporabe funkcij VBA v kodi. V mnogih od teh primerov funkcija MsgBox prikaže vrednost v sporočilnem polju. Da, MsgBox je funkcija VBA - precej nenavadna, a kljub temu funkcija. Ta uporabna funkcija prikaže sporočilo v pogovornem oknu in vrne tudi vrednost.
Prikaz sistemskega datuma ali časa
Prvi primer uporablja funkcijo VBA Date za prikaz trenutnega sistemskega datuma v sporočilnem polju:
Sub ShowDate()
MsgBox "Danes je: " & datum
Končni sub
Upoštevajte, da funkcija Date ne uporablja argumenta. Za razliko od funkcij delovnega lista funkcija VBA brez argumenta ne zahteva praznega nabora oklepajev. Pravzaprav, če vnesete prazen niz oklepajev, jih VBE takoj odstrani.
Če želite dobiti sistemski čas, uporabite funkcijo Čas. In če želite vse, uporabite funkcijo Now, da vrnete datum in čas.
Iskanje dolžine niza
Naslednji postopek uporablja funkcijo VBA Len, ki vrne dolžino besedilnega niza. Funkcija Len sprejme en argument: niz. Ko izvedete ta postopek, se v sporočilnem polju prikaže vaše ime in število znakov v vašem imenu.
Sub GetLength()
Dim MyName kot niz
Dim StringLength As Long
Moje ime = Application.UserName
StringLength = Len (moje ime)
MsgBox MyName & " ima znaka " & StringLength & "."
Končni sub

Izračun dolžine vašega imena.
Excel ima tudi funkcijo LEN, ki jo lahko uporabite v formulah delovnega lista. Različica Excel in funkcija VBA delujeta enako.
Prikaz imena meseca
Naslednji postopek uporablja funkcijo MonthName, ki vrne ime meseca. MonthName uporablja en argument: celo število med 1 in 12.
Sub ShowMonthName()
Zatemni ta mesec tako dolgo
Ta mesec = mesec (datum)
MsgBox MonthName(ThisMonth)
Končni sub
Ta postopek uporablja funkcijo Month za pridobitev trenutnega meseca (kot vrednost), ta vrednost pa je dodeljena spremenljivki ThisMonth. Funkcija MonthName nato pretvori vrednost v besedilo. Če torej zaženete ta postopek aprila, se v sporočilnem polju prikaže besedilo April.
Pravzaprav spremenljivka ThisMonth ni potrebna. Enak učinek lahko dosežete s tem izrazom, ki uporablja tri funkcije VBA:
Ime meseca(Mesec(Datum))
Tukaj se trenutni datum posreduje kot argument funkciji Month, ki vrne vrednost, ki je bila posredovana kot argument funkciji MonthName.
Določanje velikosti datoteke
Naslednji podpostopek prikaže velikost izvedljive datoteke Excel v bajtih. To vrednost najde s funkcijo FileLen:
Sub GetFileSize()
Zatemnite datoteko kot niz
TheFile = "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
MsgBox FileLen (TheFile)
Končni sub
Upoštevajte, da ta rutina trdo kodira ime datoteke (to pomeni, da izrecno navaja pot). To ni dobra ideja. Datoteka morda ni na pogonu C ali pa ima mapa Excel drugo ime. Naslednja izjava kaže boljši pristop:
TheFile = Application.Path & "\EXCEL.EXE"
Pot je lastnost predmeta Application. Preprosto vrne ime mape, v kateri je nameščena aplikacija (to je Excel) (brez poševnice na koncu).
Prepoznavanje vrste izbranega predmeta
Naslednji postopek uporablja funkcijo TypeName, ki vrne vrsto izbora na delovnem listu (kot niz):
Sub ShowSelectionType()
Dim SelType kot niz
SelType = Ime vrste (izbor)
MsgBox SelType
Končni sub
Izbira je lahko obseg, slika, pravokotnik, območje grafikona ali katera koli druga vrsta predmeta, ki ga je mogoče izbrati.
Funkcija TypeName je zelo vsestranska. To funkcijo lahko uporabite tudi za določitev vrste podatkov spremenljivke.
Funkcije Excel VBA, ki ne vrnejo vrednosti
Nekaj funkcij VBA presega dolžnost. Namesto da preprosto vrnejo vrednost, imajo te funkcije nekaj uporabnih stranskih učinkov.
Funkcije VBA z uporabnimi stranskimi prednostmi
| Funkcija |
Kaj počne |
| MsgBox |
Prikaže priročno pogovorno okno, ki vsebuje sporočilo in gumbe. Funkcija vrne kodo, ki označuje, kateri gumb uporabnik klikne. |
| InputBox |
Prikaže preprosto pogovorno okno, ki od uporabnika zahteva nekaj vnosa. Funkcija vrne vse, kar uporabnik vnese v pogovorno okno. |
| Shell |
Izvaja drug program. Funkcija vrne ID opravila (enolični identifikator) drugega programa (ali napako, če funkcija ne more zagnati drugega programa). |
Odkrivanje funkcij Excel VBA
Kako ugotovite, katere funkcije ponuja VBA? Dobro vprašanje. Najboljši vir je sistem Excel VBA . Drug način je, da vnesete VBA , ki ji sledi pika. Dobiš seznam predmetov. Tisti z zeleno ikono so funkcije. Če ta funkcija ne deluje, izberite Orodja VBE → Možnosti, kliknite zavihek Urejevalnik in potrdite polje Samodejni člani seznama.
![Kako uporabljati Excelove vgrajene funkcije VBA]()
Način za prikaz seznama funkcij VBA.
V VBA je na voljo več kot 140 različnih funkcij. Nekateri so tako specializirani in nejasni, da jih ne boste nikoli potrebovali. Drugi pa so zelo uporabni za številne aplikacije.
Najbolj uporabne vgrajene funkcije Excel VBA
| Funkcija |
Kaj počne |
| Abs |
Vrne absolutno vrednost števila |
| Niz |
Vrne različico, ki vsebuje matriko |
| Izberite |
Vrne vrednost s seznama elementov |
| Chr |
Pretvori vrednost ANSI v niz |
| CurDir |
Vrne trenutno pot |
| Datum |
Vrne trenutni sistemski datum |
| Dodaj datum |
Vrne datum, ki mu je bil dodan določen časovni interval – na primer en mesec od določenega datuma |
| DateDiff |
Vrne celo število, ki prikazuje število določenih časovnih intervalov med dvema datumoma – na primer število mesecev od danes do vašega rojstnega dne |
| DatePart |
Vrne celo število, ki vsebuje določen del danega datuma – na primer dan v letu |
| DateSerial |
Pretvori datum v serijsko številko |
| DateValue |
Pretvori niz v datum |
| dan |
Vrne dan v mesecu iz vrednosti datuma |
| r |
Vrne ime datoteke ali imenika, ki se ujema z vzorcem |
| Napaka |
Vrne številko napake stanja napake |
| Napaka |
Vrne sporočilo o napaki, ki ustreza številki napake |
| Exp |
Vrne osnovo naravnega logaritma (e), dvignjenega na potenco |
| FileLen |
Vrne število bajtov v datoteki |
| Popravi |
Vrne celoštevilski del števila |
| Format |
Prikaže izraz v določeni obliki |
| GetSetting |
Vrne vrednost iz registra Windows |
| ura |
Vrne urni del časa |
| InputBox |
Prikaže polje, ki uporabnika pozove k vnosu |
| InStr |
Vrne položaj niza v drugem nizu (štetje od začetka) |
| InStrRev |
Vrne položaj niza znotraj drugega niza (šteje od konca) |
| Int |
Vrne celoštevilski del števila |
| IsArray |
Vrne True, če je spremenljivka matrika |
| IsDate |
Vrne True, če je izraz datum |
| Je prazno |
Vrne True, če spremenljivka ni bila inicializirana |
| IsError |
Vrne True, če je izraz vrednost napake |
| Manjka |
Vrne True, če izbirni argument ni bil posredovan postopku |
| IsNull |
Vrne True, če izraz ne vsebuje veljavnih podatkov |
| IsNumeric |
Vrne True, če je izraz mogoče oceniti kot število |
| LB Vezano |
Vrne najmanjši indeks za dimenzijo matrike |
| LCase |
Vrne niz, pretvorjen v male črke |
| levo |
Vrne določeno število znakov z leve strani niza |
| Len |
Vrne število znakov v nizu |
| sredina |
Vrne določeno število znakov iz niza |
| Minuto |
Vrne minutni del časovne vrednosti |
| mesec |
Vrne mesec iz vrednosti datuma |
| MsgBox |
Prikaže okno s sporočilom in (po želji) vrne vrednost |
| zdaj |
Vrne trenutni sistemski datum in čas |
| Zamenjati |
Zamenja podniz v nizu z drugim podnizom |
| RGB |
Vrne številsko vrednost RGB, ki predstavlja barvo |
| Prav |
Vrne določeno število znakov z desne strani niza |
| Rnd |
Vrne naključno število med 0 in 1 |
| Drugič |
Vrne sekundni del časovne vrednosti |
| Shell |
Zažene izvedljiv program |
| Vesolje |
Vrne niz z določenim številom presledkov |
| Split |
Razdeli niz na dele z uporabo ločilnega znaka |
| Sqr |
Vrne kvadratni koren števila |
| Vrvica |
Vrne ponavljajoč se znak ali niz |
| Čas |
Vrne trenutni sistemski čas |
| Časovnik |
Vrne število sekund od polnoči |
| TimeSerial |
Vrne čas za določeno uro, minuto in sekundo |
| TimeValue |
Pretvori niz v časovno zaporedno številko |
| Trim |
Vrne niz brez začetnih ali končnih presledkov |
| TypeName |
Vrne niz, ki opisuje tip podatkov spremenljivke |
| UB Vezano |
Vrne največji razpoložljivi indeks za dimenzijo matrike |
| UCase |
Pretvori niz v velike črke |
| Val |
Vrne številke v nizu |
| Dan v tednu |
Vrne številko, ki predstavlja dan v tednu |
| Leto |
Vrne leto iz datumske vrednosti |
Za popolne podrobnosti o določeni funkciji Excel VBA vnesite ime funkcije v modul VBA, premaknite kazalec kamor koli v besedilu in pritisnite F1.