Excel VBA pakub arvukalt sisseehitatud funktsioone. Mõned neist Exceli VBA funktsioonidest võtavad argumente ja mõned mitte.
Exceli VBA funktsioonide näited
Siit leiate mõned näited VBA funktsioonide kasutamisest koodis. Paljudes nendes näidetes kuvab funktsioon MsgBox väärtuse sõnumikastis. Jah, MsgBox on VBA funktsioon - üsna ebatavaline, kuid funktsioon sellegipoolest. See kasulik funktsioon kuvab teate dialoogiboksis ja tagastab ka väärtuse.
Süsteemi kuupäeva või kellaaja kuvamine
Esimene näide kasutab VBA kuupäeva funktsiooni praeguse süsteemi kuupäeva kuvamiseks sõnumikastis:
Sub ShowDate()
MsgBox "Täna on: " & Kuupäev
Lõpeta alam
Pange tähele, et funktsioon Kuupäev ei kasuta argumenti. Erinevalt töölehe funktsioonidest ei nõua argumendita VBA-funktsioon tühja sulgude komplekti. Tegelikult, kui sisestate tühja sulgude komplekti, eemaldab VBE need kohe.
Süsteemi aja vaatamiseks kasutage funktsiooni Time. Ja kui soovite seda kõike, kasutage nii kuupäeva kui ka kellaaja tagastamiseks funktsiooni Nüüd.
Nööri pikkuse leidmine
Järgmine protseduur kasutab funktsiooni VBA Len, mis tagastab tekstistringi pikkuse. Funktsioon Len võtab ühe argumendi: stringi. Selle toimingu sooritamisel kuvatakse teatekastis teie nimi ja märkide arv teie nimes.
Sub GetLength()
Dim MyName stringina
Dim StringLength As Long
MinuNimi = Rakendus.Kasutajanimi
StringLength = Len(minunimi)
MsgBox MyName & " sisaldab märke " & StringLength & ".
Lõpeta alam

Teie nime pikkuse arvutamine.
Excelil on ka funktsioon LEN, mida saate kasutada oma töölehe valemites. Exceli versioon ja VBA funktsioon töötavad samamoodi.
Kuu nime kuvamine
Järgmine protseduur kasutab funktsiooni MonthName, mis tagastab kuu nime. MonthName kasutab ühte argumenti: täisarvu vahemikus 1 kuni 12.
Sub ShowMonthName()
Tume see kuu nii kaua
See kuu = kuu(kuupäev)
MsgBox MonthName (see kuu)
Lõpeta alam
See protseduur kasutab jooksva kuu (väärtusena) hankimiseks funktsiooni Kuu ja see väärtus määratakse muutujale ThisMonth. Seejärel teisendab funktsioon MonthName väärtuse tekstiks. Nii et kui käivitate selle protseduuri aprillis, kuvatakse teatekastis tekst Aprill.
Tegelikult pole ThisMonth muutuja nõutav. Sama efekti saate selle avaldisega, mis kasutab kolme VBA funktsiooni:
Kuu nimi (kuu(kuupäev))
Siin edastatakse praegune kuupäev argumendina funktsioonile Kuu, mis tagastab väärtuse, mis edastatakse argumendina funktsioonile Kuu nimi.
Faili suuruse määramine
Järgmine alamprotseduur kuvab Exceli täitmisfaili suuruse baitides. See leiab selle väärtuse funktsiooni FileLen abil:
Sub GetFileSize()
Dim TheFile stringina
TheFile = "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
MsgBox FileLen (TheFile)
Lõpeta alam
Pange tähele, et see rutiin kodeerib kõvasti failinime (st määrab selgesõnaliselt tee). See pole hea mõte. Fail ei pruugi olla C-draivil või Exceli kaustal võib olla erinev nimi. Järgmine väide näitab paremat lähenemist:
TheFile = Application.Path & "\EXCEL.EXE"
Tee on rakenduse objekti omadus. See lihtsalt tagastab selle kausta nime, kuhu rakendus (st Excel) on installitud (ilma kaldkriipsuta).
Valitud objekti tüübi tuvastamine
Järgmine protseduur kasutab funktsiooni TypeName, mis tagastab töölehel oleva valiku tüübi (stringina):
Sub ShowSelectionType()
Dim SelType stringina
SelType = tüübinimi (valik)
MsgBox SelType
Lõpeta alam
Valik võib olla vahemik, pilt, ristkülik, diagrammiala või mis tahes muud tüüpi objekt, mida saab valida.
Funktsioon TypeName on väga mitmekülgne. Seda funktsiooni saate kasutada ka muutuja andmetüübi määramiseks.
Exceli VBA funktsioonid, mis teevad enamat kui tagastavad väärtuse
Mõned VBA funktsioonid lähevad üle kohustuse. Selle asemel, et lihtsalt väärtust tagastada, on neil funktsioonidel mõned kasulikud kõrvalmõjud.
VBA funktsioonid koos kasulike kõrvalhüvedega
| Funktsioon |
Mida see teeb |
| Msgbox |
Kuvab mugava dialoogiboksi, mis sisaldab teadet ja nuppe. Funktsioon tagastab koodi, mis tuvastab, millist nuppu kasutaja klõpsab. |
| Sisestuskast |
Kuvab lihtsa dialoogiboksi, mis küsib kasutajalt sisendit. Funktsioon tagastab kõik, mida kasutaja dialoogiboksis sisestab. |
| Kest |
Käivitab teise programmi. Funktsioon tagastab teise programmi ülesande ID (unikaalse identifikaatori) (või veateate, kui funktsioon ei saa teist programmi käivitada). |
Exceli VBA funktsioonide avastamine
Kuidas saate teada, milliseid funktsioone VBA pakub? Hea küsimus. Parim allikas on Exceli VBA süsteem . Teine võimalus on tippida VBA , millele järgneb punkt. Saate esemete loendi. Need, millel on roheline ikoon, on funktsioonid. Kui see funktsioon ei tööta, valige VBE Tööriistad → Suvandid, klõpsake vahekaarti Redigeerija ja märkige valiku Automaatloendi liikmed kõrvale.

VBA funktsioonide loendi kuvamise viis.
VBA-s on saadaval üle 140 erineva funktsiooni. Mõned neist on nii spetsiifilised ja ebaselged, et teil pole neid kunagi vaja. Teised on aga paljude rakenduste jaoks üsna kasulikud.
Exceli VBA kõige kasulikumad sisseehitatud funktsioonid
| Funktsioon |
Mida see teeb |
| Abs |
Tagastab arvu absoluutväärtuse |
| Massiiv |
Tagastab massiivi sisaldava variandi |
| Vali |
Tagastab väärtuse üksuste loendist |
| Chr |
Teisendab ANSI väärtuse stringiks |
| CurDir |
Tagastab praeguse tee |
| Kuupäev |
Tagastab praeguse süsteemi kuupäeva |
| Lisamise kuupäev |
Tagastab kuupäeva, millele on lisatud määratud ajavahemik – näiteks üks kuu alates konkreetsest kuupäevast |
| DateDiff |
Tagastab täisarvu, mis näitab määratud ajavahemike arvu kahe kuupäeva vahel – näiteks kuude arvu praeguse ja teie sünnipäeva vahel |
| KuupäevOsa |
Tagastab täisarvu, mis sisaldab antud kuupäeva määratud osa – näiteks kuupäeva aastapäeva |
| KuupäevSerial |
Teisendab kuupäeva seerianumbriks |
| DateValue |
Teisendab stringi kuupäevaks |
| päev |
Tagastab kuupäeva väärtusest kuu päeva |
| Dir |
Tagastab faili või kataloogi nime, mis vastab mustrile |
| Err |
Tagastab veatingimuse veanumbri |
| Viga |
Tagastab veateate, mis vastab veanumbrile |
| Exp |
Tagastab naturaallogaritmi aluse (e), mis on tõstetud astmeni |
| FileLen |
Tagastab baitide arvu failis |
| Parandage |
Tagastab arvu täisarvulise osa |
| Vorming |
Kuvab avaldise kindlas vormingus |
| GetSetting |
Tagastab väärtuse Windowsi registrist |
| Tund |
Tagastab aja tunnise osa |
| Sisestuskast |
Kuvab kasti, mis palub kasutajal sisestada |
| InStr |
Tagastab stringi asukoha teises stringis (loendades algusest) |
| InStrRev |
Tagastab stringi asukoha teises stringis (loendades lõpust) |
| Int |
Tagastab arvu täisarvulise osa |
| IsArray |
Tagastab Tõene, kui muutuja on massiiv |
| IsDate |
Tagastab väärtuse Tõene, kui avaldis on kuupäev |
| On tühi |
Tagastab väärtuse Tõene, kui muutujat pole lähtestatud |
| IsError |
Tagastab väärtuse Tõene, kui avaldis on veaväärtus |
| On kadunud |
Tagastab väärtuse Tõene, kui valikulist argumenti protseduurile ei edastatud |
| IsNull |
Tagastab väärtuse Tõene, kui avaldis ei sisalda kehtivaid andmeid |
| IsNumeric |
Tagastab väärtuse Tõene, kui avaldist saab hinnata arvuna |
| LBound |
Tagastab massiivi dimensiooni väikseima alaindeksi |
| LCase |
Tagastab stringi, mis on teisendatud väiketähtedeks |
| Vasakule |
Tagastab määratud arvu tähemärke stringist vasakult |
| Len |
Tagastab märkide arvu stringis |
| Kesk |
Tagastab teatud arvu tähemärke stringist |
| Minut |
Tagastab ajaväärtuse minutite osa |
| Kuu |
Tagastab kuu kuupäeva väärtusest |
| Msgbox |
Kuvab teatekasti ja (valikuliselt) tagastab väärtuse |
| Nüüd |
Tagastab praeguse süsteemi kuupäeva ja kellaaja |
| Asenda |
Asendab stringi alamstringi teise alamstringiga |
| RGB |
Tagastab numbrilise RGB väärtuse, mis tähistab värvi |
| Õige |
Tagastab teatud arvu tähemärke stringist paremalt |
| Rnd |
Tagastab juhusliku arvu vahemikus 0 kuni 1 |
| Teiseks |
Tagastab ajaväärtuse sekundite osa |
| Kest |
Käivitab käivitatava programmi |
| Kosmos |
Tagastab kindla arvu tühikutega stringi |
| Lõhestatud |
Jaotab stringi osadeks, kasutades piiritlevat märki |
| ruut |
Tagastab arvu ruutjuure |
| String |
Tagastab korduva märgi või stringi |
| Aeg |
Tagastab praeguse süsteemiaja |
| Taimer |
Tagastab keskööst möödunud sekundite arvu |
| TimeSerial |
Tagastab määratud tunni, minuti ja sekundi aja |
| TimeValue |
Teisendab stringi aja seerianumbriks |
| Kärbi |
Tagastab stringi ilma ees- või lõputühikuteta |
| TüüpNimi |
Tagastab stringi, mis kirjeldab muutuja andmetüüpi |
| UBund |
Tagastab massiivi dimensiooni suurima saadaoleva alaindeksi |
| UCase |
Teisendab stringi suurtähtedeks |
| Val |
Tagastab stringis sisalduvad numbrid |
| Nädalapäev |
Tagastab numbri, mis tähistab nädalapäeva |
| aasta |
Tagastab kuupäeva väärtusest aasta |
Konkreetse Exceli VBA funktsiooni kohta täielike üksikasjade vaatamiseks tippige funktsiooni nimi VBA moodulisse, liigutage kursor tekstis suvalisse kohta ja vajutage klahvi F1.