„Excel VBA“ suteikia daugybę integruotų funkcijų. Kai kurios iš šių „ Excel“ VBA funkcijų naudoja argumentus, o kai kurios – ne.
Excel VBA funkcijų pavyzdžiai
Čia rasite keletą VBA funkcijų naudojimo kode pavyzdžių. Daugelyje šių pavyzdžių funkcija MsgBox pranešimo laukelyje rodo reikšmę. Taip, „MsgBox“ yra VBA funkcija – gana neįprasta, bet vis dėlto funkcija. Ši naudinga funkcija parodo pranešimą dialogo lange ir taip pat grąžina reikšmę.
Rodoma sistemos data arba laikas
Pirmajame pavyzdyje naudojama VBA datos funkcija, kad pranešimo laukelyje būtų rodoma dabartinė sistemos data:
Sub ShowDate()
MsgBox "Šiandien yra: " & Data
Pabaigos sub
Atkreipkite dėmesį, kad datos funkcija nenaudoja argumento. Skirtingai nuo darbalapio funkcijų, VBA funkcijai be argumentų nereikia tuščių skliaustų rinkinio. Tiesą sakant, jei įvesite tuščią skliaustų rinkinį, VBE nedelsdamas juos pašalins.
Norėdami gauti sistemos laiką, naudokite funkciją Laikas. Ir jei norite viso to, naudokite funkciją Dabar, kad grąžintumėte datą ir laiką.
Rasti stygos ilgį
Ši procedūra naudoja VBA Len funkciją, kuri grąžina teksto eilutės ilgį. Funkcija Len naudoja vieną argumentą: eilutę. Kai atliekate šią procedūrą, pranešimų laukelyje rodomas jūsų vardas ir jūsų vardo simbolių skaičius.
Sub GetLength()
Dim MyName As String
Dim StringLength As Long
Mano vardas = Application.UserName
StringLength = Len (mano vardas)
MsgBox MyName & " turi " & StringLength & " simbolius.
Pabaigos sub
Jūsų vardo ilgio apskaičiavimas.
„Excel“ taip pat turi LEN funkciją, kurią galite naudoti darbalapio formulėse. „Excel“ versija ir VBA funkcija veikia taip pat.
Rodomas mėnesio pavadinimas
Šioje procedūroje naudojama funkcija MonthName, kuri grąžina mėnesio pavadinimą. Mėnesio pavadinimas naudoja vieną argumentą: sveikąjį skaičių nuo 1 iki 12.
Sub ShowMonthName()
Pritemdyti šį mėnesį taip ilgai
Šis mėnuo = mėnuo (data)
MsgBox mėnesio pavadinimas (šis mėnuo)
Pabaigos sub
Ši procedūra naudoja funkciją Mėnuo, kad gautų einamąjį mėnesį (kaip reikšmę), o ši reikšmė priskiriama kintamajam ThisMonth. Funkcija MonthName konvertuoja reikšmę į tekstą. Taigi, jei atliksite šią procedūrą balandžio mėnesį, pranešimų laukelyje bus rodomas tekstas Balandis.
Tiesą sakant, ThisMonth kintamasis nėra būtinas. Tą patį efektą galite gauti naudodami šią išraišką, kuri naudoja tris VBA funkcijas:
Mėnesio pavadinimas (mėnuo (data))
Čia dabartinė data perduodama kaip argumentas funkcijai Mėnuo, kuri grąžina reikšmę, kuri buvo perduota kaip argumentas funkcijai Mėnesio pavadinimas.
Failo dydžio nustatymas
Šioje antrinėje procedūroje rodomas „Excel“ vykdomojo failo dydis baitais. Šią reikšmę ji randa naudodama funkciją FileLen:
Sub GetFileSize()
Pritemdykite failą kaip eilutę
TheFile = "C:\Programų failai (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
MsgBox FileLen (TheFile)
Pabaigos sub
Atkreipkite dėmesį, kad ši rutina sunkiai koduoja failo pavadinimą (ty aiškiai nurodo kelią). Tai nėra gera idėja. Failo gali nebūti C diske arba „Excel“ aplanko pavadinimas gali būti kitoks. Šis teiginys rodo geresnį požiūrį:
TheFile = Application.Path & "\EXCEL.EXE"
Kelias yra programos objekto ypatybė. Tai tiesiog grąžina aplanko, kuriame įdiegta programa (ty „Excel“), pavadinimą (be pasvirojo brūkšnio).
Pasirinkto objekto tipo nustatymas
Šioje procedūroje naudojama funkcija TypeName, kuri grąžina pasirinkimo tipą darbalapyje (kaip eilutę):
Sub ShowSelectionType()
Dim SelType As String
SelType = tipo pavadinimas (pasirinkimas)
MsgBox SelType
Pabaigos sub
Pasirinkimas gali būti diapazonas, paveikslėlis, stačiakampis, diagramos sritis arba bet koks kitas objekto tipas, kurį galima pasirinkti.
Funkcija TypeName yra labai universali. Taip pat galite naudoti šią funkciją norėdami nustatyti kintamojo duomenų tipą.
„Excel“ VBA funkcijos, kurios ne tik grąžina reikšmę
Kai kurios VBA funkcijos viršija pareigas. Šios funkcijos turi keletą naudingų šalutinių poveikių, o ne tiesiog grąžina vertę.
VBA funkcijos su naudingais šalutiniais privalumais
Funkcija |
Ką tai daro |
MsgBox |
Rodo patogų dialogo langą su pranešimu ir mygtukais. Funkcija grąžina kodą, identifikuojantį, kurį mygtuką vartotojas spusteli. |
Įvesties laukelis |
Rodomas paprastas dialogo langas, kuriame vartotojo prašoma įvesti tam tikrą įvestį. Funkcija grąžina viską, ką vartotojas įveda dialogo lange. |
Lukštas |
Vykdo kitą programą. Funkcija grąžina kitos programos užduoties ID (unikalus identifikatorius) (arba klaidą, jei funkcija negali paleisti kitos programos). |
Atraskite Excel VBA funkcijas
Kaip sužinoti, kokias funkcijas teikia VBA? Geras klausimas. Geriausias šaltinis yra Excel VBA sistema . Kitas būdas yra įvesti VBA , po kurio nurodomas taškas. Gaunate prekių sąrašą. Su žalia piktograma yra funkcijos. Jei ši funkcija neveikia, pasirinkite VBE įrankiai → Parinktys, spustelėkite skirtuką Redagavimo priemonė ir pažymėkite varnelę šalia Automatinio sąrašo narių.
Būdas rodyti VBA funkcijų sąrašą.
VBA yra daugiau nei 140 skirtingų funkcijų. Kai kurie yra tokie specializuoti ir neaiškūs, kad jums jų niekada neprireiks. Tačiau kiti yra gana naudingi daugeliui programų.
„Excel VBA“ naudingiausios integruotos funkcijos
Funkcija |
Ką tai daro |
Abs |
Grąžina absoliučią skaičiaus reikšmę |
Masyvas |
Pateikia variantą, kuriame yra masyvas |
Pasirinkite |
Grąžina vertę iš elementų sąrašo |
Chr |
Konvertuoja ANSI reikšmę į eilutę |
CurDir |
Grąžina dabartinį kelią |
Data |
Grąžina esamą sistemos datą |
Pridėjimo data |
Pateikia datą, prie kurios buvo pridėtas nurodytas laiko intervalas, pavyzdžiui, vienas mėnuo nuo konkrečios datos |
DateDiff |
Grąžina sveikąjį skaičių, rodantį nurodytų laiko intervalų tarp dviejų datų skaičių – pavyzdžiui, mėnesių skaičių nuo dabar iki jūsų gimtadienio |
DataPart |
Grąžina sveikąjį skaičių, kuriame yra nurodyta nurodytos datos dalis, pvz., datos metų diena |
DataSerialas |
Konvertuoja datą į serijos numerį |
DataValue |
Konvertuoja eilutę į datą |
Diena |
Grąžina mėnesio dieną iš datos reikšmės |
Rež |
Grąžina šabloną atitinkančio failo arba katalogo pavadinimą |
Err |
Grąžina klaidos sąlygos klaidos numerį |
Klaida |
Grąžina klaidos pranešimą, atitinkantį klaidos numerį |
Exp |
Grąžina natūraliojo logaritmo bazę (e), pakeltą iki laipsnio |
FileLen |
Grąžina failo baitų skaičių |
Pataisyti |
Grąžina sveikojo skaičiaus dalį |
Formatas |
Rodo išraišką tam tikru formatu |
GetSetting |
Grąžina reikšmę iš „Windows“ registro |
Valanda |
Grąžina valandos laiko dalį |
Įvesties laukelis |
Rodo langelį, kuriame vartotojas raginamas įvesti |
InStr |
Grąžina eilutės vietą kitoje eilutėje (skaičiuojama nuo pradžios) |
InStrRev |
Grąžina eilutės vietą kitoje eilutėje (skaičiuojama nuo pabaigos) |
Tarpt |
Grąžina sveikąją skaičiaus dalį |
IsArray |
Grąžina True, jei kintamasis yra masyvas |
IsDate |
Grąžina True, jei išraiška yra data |
Yra tuščias |
Grąžina True, jei kintamasis nebuvo inicijuotas |
IsError |
Grąžina True, jei išraiška yra klaidos reikšmė |
Trūksta |
Grąžina True, jei pasirenkamas argumentas nebuvo perduotas procedūrai |
IsNull |
Grąžina True, jei reiškinyje nėra galiojančių duomenų |
IsSkaičius |
Grąžina True, jei išraišką galima įvertinti kaip skaičių |
LBound |
Grąžina mažiausią masyvo dimensijos indeksą |
LCase |
Grąžina eilutę, konvertuotą į mažąsias raides |
Kairė |
Grąžina nurodytą simbolių skaičių iš kairės eilutės |
Len |
Grąžina simbolių skaičių eilutėje |
Vid |
Grąžina nurodytą simbolių skaičių iš eilutės |
Minutė |
Grąžina laiko reikšmės minučių dalį |
Mėnuo |
Grąžina mėnesį nuo datos reikšmės |
MsgBox |
Rodo pranešimo laukelį ir (pasirinktinai) grąžina reikšmę |
Dabar |
Grąžina esamą sistemos datą ir laiką |
Pakeisti |
Pakeičia eilutėje esančią eilutę kita eilute |
RGB |
Grąžina skaitinę RGB reikšmę, atspindinčią spalvą |
Teisingai |
Grąžina nurodytą simbolių skaičių iš dešinės eilutės |
Rnd |
Grąžina atsitiktinį skaičių nuo 0 iki 1 |
Antra |
Grąžina laiko reikšmės sekundžių dalį |
Lukštas |
Paleidžia vykdomąją programą |
Erdvė |
Grąžina eilutę su nurodytu tarpų skaičiumi |
Suskaidytas |
Padalina eilutę į dalis, naudodamas skiriamąjį simbolį |
kv |
Grąžina skaičiaus kvadratinę šaknį |
Styga |
Grąžina pasikartojantį simbolį arba eilutę |
Laikas |
Grąžina esamą sistemos laiką |
Laikmatis |
Grąžina sekundžių skaičių nuo vidurnakčio |
TimeSerial |
Grąžina nurodytos valandos, minutės ir sekundės laiką |
TimeValue |
Konvertuoja eilutę į laiko eilės numerį |
Apkarpyti |
Grąžina eilutę be tarpų priekyje ar gale |
Tipo pavadinimas |
Pateikia eilutę, apibūdinančią kintamojo duomenų tipą |
UBound |
Grąžina didžiausią galimą masyvo dimensijos indeksą |
UCase |
Konvertuoja eilutę į didžiąsias raides |
Val |
Grąžina skaičius, esančius eilutėje |
Savaitės diena |
Grąžina skaičių, reiškiantį savaitės dieną |
Metai |
Grąžina metus nuo datos reikšmės |
Norėdami gauti išsamios informacijos apie konkrečią „ Excel“ VBA funkciją , įveskite funkcijos pavadinimą VBA modulyje, perkelkite žymeklį į bet kurią teksto vietą ir paspauskite F1.