Excel VBA nodrošina daudzas iebūvētas funkcijas. Dažas no šīm Excel VBA funkcijām izmanto argumentus, bet dažas ne.
Excel VBA funkciju piemēri
Šeit ir daži piemēri VBA funkciju izmantošanai kodā. Daudzos no šiem piemēriem funkcija MsgBox parāda vērtību ziņojuma lodziņā. Jā, MsgBox ir VBA funkcija — diezgan neparasta, taču funkcija tomēr. Šī noderīgā funkcija parāda ziņojumu dialoglodziņā un atgriež arī vērtību.
Parāda sistēmas datumu vai laiku
Pirmajā piemērā tiek izmantota VBA datuma funkcija, lai ziņojuma lodziņā parādītu pašreizējo sistēmas datumu:
Sub ShowDate()
MsgBox "Šodien ir: " & Datums
Beigt apakš
Ņemiet vērā, ka funkcija Datums neizmanto argumentu. Atšķirībā no darblapu funkcijām, VBA funkcijai bez argumentiem nav nepieciešama tukša iekavu kopa. Faktiski, ja ierakstāt tukšu iekavu kopu, VBE tās nekavējoties noņem.
Lai iegūtu sistēmas laiku, izmantojiet funkciju Time. Un, ja vēlaties to visu, izmantojiet funkciju Tagad, lai atgrieztu gan datumu, gan laiku.
Stīgas garuma atrašana
Tālāk norādītajā procedūrā tiek izmantota funkcija VBA Len, kas atgriež teksta virknes garumu. Funkcija Len izmanto vienu argumentu: virkni. Veicot šo procedūru, ziņojuma lodziņā tiek parādīts jūsu vārds un jūsu vārda rakstzīmju skaits.
Sub GetLength()
Dim MyName kā virkne
Dim String Length As Long
MansVārds = Application.UserName
Virknes garums = Len (mans vārds)
MsgBox MyName & " ir " & StringLength & " rakstzīmes.
Beigt apakš
Jūsu vārda garuma aprēķināšana.
Programmai Excel ir arī funkcija LEN, ko varat izmantot darblapas formulās. Excel versija un VBA funkcija darbojas vienādi.
Tiek parādīts mēneša nosaukums
Šajā procedūrā tiek izmantota funkcija MonthName, kas atgriež mēneša nosaukumu. MonthName izmanto vienu argumentu: veselu skaitli no 1 līdz 12.
Sub ShowMonthName()
Dim ThisMonth As Long
Šis mēnesis = mēnesis(datums)
MsgBox mēneša nosaukums (šomēnes)
Beigt apakš
Šajā procedūrā tiek izmantota funkcija Mēnesis, lai iegūtu pašreizējo mēnesi (kā vērtību), un šī vērtība tiek piešķirta mainīgajam ThisMonth. Pēc tam funkcija MonthName pārvērš vērtību tekstā. Tātad, ja palaižat šo procedūru aprīlī, ziņojuma lodziņā tiek parādīts teksts Aprīlis.
Faktiski ThisMonth mainīgais nav nepieciešams. To pašu efektu var iegūt ar šo izteiksmi, kas izmanto trīs VBA funkcijas:
Mēneša nosaukums(mēnesis(datums))
Šeit pašreizējais datums tiek nodots kā arguments funkcijai Mēnesis, kas atgriež vērtību, kas ir nodota funkcijai MonthName kā arguments.
Faila lieluma noteikšana
Šī apakšprocedūra parāda Excel izpildāmā faila lielumu baitos. Tā atrod šo vērtību, izmantojot funkciju FileLen:
Sub GetFileSize()
Dim TheFile kā virkni
TheFile = "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
MsgBox FileLen(TheFile)
Beigt apakš
Ņemiet vērā, ka šī rutīna stingri iekodē faila nosaukumu (tas ir, skaidri norāda ceļu). Šī nav laba ideja. Iespējams, fails neatrodas C diskdzinī, vai arī Excel mapei var būt cits nosaukums. Šis apgalvojums parāda labāku pieeju:
Fails = Application.Path & "\EXCEL.EXE"
Ceļš ir lietojumprogrammas objekta īpašums. Tas vienkārši atgriež tās mapes nosaukumu, kurā ir instalēta lietojumprogramma (tas ir, Excel) (bez beigu slīpsvītras).
Atlasītā objekta veida identificēšana
Tālāk norādītajā procedūrā tiek izmantota funkcija TypeName, kas atgriež darblapas atlases veidu (kā virkni):
Sub ShowSelectionType()
Dim SelType As String
SelType = TypeName (atlase)
MsgBox SelType
Beigt apakš
Atlase var būt diapazons, attēls, taisnstūris, diagrammas apgabals vai jebkura cita veida objekts, ko var atlasīt.
Funkcija TypeName ir ļoti daudzpusīga. Varat arī izmantot šo funkciju, lai noteiktu mainīgā datu tipu.
Excel VBA funkcijas, kas ne tikai atgriež vērtību
Dažas VBA funkcijas pārsniedz pienākumu. Tā vietā, lai vienkārši atgrieztu vērtību, šīm funkcijām ir dažas noderīgas blakusparādības.
VBA funkcijas ar noderīgām blakus priekšrocībām
Funkcija |
Ko tas dara |
MsgBox |
Parāda ērtu dialoglodziņu, kurā ir ziņojums un pogas. Funkcija atgriež kodu, kas identificē, uz kuras pogas lietotājs noklikšķina. |
InputBox |
Parāda vienkāršu dialoglodziņu, kurā lietotājam tiek prasīts ievadīt kādu informāciju. Funkcija atgriež visu, ko lietotājs ievada dialoglodziņā. |
Apvalks |
Izpilda citu programmu. Funkcija atgriež citas programmas uzdevuma ID (unikālo identifikatoru) (vai kļūdu, ja funkcija nevar palaist citu programmu). |
Excel VBA funkciju atklāšana
Kā uzzināt, kuras funkcijas nodrošina VBA? Labs jautājums. Labākais avots ir Excel VBA sistēma . Vēl viens veids ir ierakstīt VBA , kam seko punkts. Jūs saņemat priekšmetu sarakstu. Tās ar zaļu ikonu ir funkcijas. Ja šī funkcija nedarbojas, izvēlieties VBE rīki → Opcijas, noklikšķiniet uz cilnes Redaktors un atzīmējiet izvēles rūtiņu blakus Automātiskā saraksta dalībnieki.
Veids, kā parādīt VBA funkciju sarakstu.
VBA ir pieejamas vairāk nekā 140 dažādas funkcijas. Daži no tiem ir tik specializēti un neskaidri, ka jums tie nekad nebūs vajadzīgi. Tomēr citi ir diezgan noderīgi daudzām lietojumprogrammām.
Excel VBA visnoderīgākās iebūvētās funkcijas
Funkcija |
Ko tas dara |
Abs |
Atgriež skaitļa absolūto vērtību |
Masīvs |
Atgriež variantu, kas satur masīvu |
Izvēlieties |
Atgriež vērtību no vienumu saraksta |
Chr |
Pārvērš ANSI vērtību par virkni |
CurDir |
Atgriež pašreizējo ceļu |
Datums |
Atgriež pašreizējo sistēmas datumu |
Pievienošanas datums |
Atgriež datumu, kuram ir pievienots noteikts laika intervāls, piemēram, viens mēnesis no konkrēta datuma |
DatumsDiff |
Atgriež veselu skaitli, kas parāda norādīto laika intervālu skaitu starp diviem datumiem, piemēram, mēnešu skaitu no šī brīža līdz jūsu dzimšanas dienai |
DatumsPart |
Atgriež veselu skaitli, kas satur norādīto noteiktā datuma daļu, piemēram, datuma gada dienu |
DatumsSerial |
Pārvērš datumu par sērijas numuru |
DatumsVērtība |
Pārvērš virkni par datumu |
diena |
Atgriež mēneša dienu no datuma vērtības |
Rež |
Atgriež faila vai direktorija nosaukumu, kas atbilst paraugam |
Err |
Atgriež kļūdas stāvokļa kļūdas numuru |
Kļūda |
Atgriež kļūdas ziņojumu, kas atbilst kļūdas numuram |
Exp |
Atgriež naturālā logaritma (e) bāzi, kas palielināta līdz pakāpei |
FileLen |
Atgriež baitu skaitu failā |
Labot |
Atgriež skaitļa veselu skaitļa daļu |
Formāts |
Parāda izteiksmi noteiktā formātā |
GetSetting |
Atgriež vērtību no Windows reģistra |
Stunda |
Atgriež laika stundu daļu |
InputBox |
Parāda lodziņu, lai aicinātu lietotāju ievadīt ievadi |
InStr |
Atgriež virknes pozīciju citā virknē (skaitot no sākuma) |
InStrRev |
Atgriež virknes pozīciju citā virknē (skaitot no beigām) |
Int |
Atgriež skaitļa veselu skaitļa daļu |
IsArray |
Atgriež True, ja mainīgais ir masīvs |
IsDate |
Atgriež True, ja izteiksme ir datums |
Ir tukšs |
Atgriež True, ja mainīgais nav inicializēts |
IsError |
Atgriež True, ja izteiksme ir kļūdas vērtība |
Ir pazudis |
Atgriež True, ja neobligāts arguments netika nodots procedūrai |
IsNull |
Atgriež True, ja izteiksmē nav derīgu datu |
IsNumeric |
Atgriež True, ja izteiksmi var novērtēt kā skaitli |
LBound |
Atgriež mazāko masīva dimensijas apakšindeksu |
LCase |
Atgriež virkni, kas pārveidota par mazajiem burtiem |
Pa kreisi |
Atgriež noteiktu rakstzīmju skaitu no virknes kreisās puses |
Len |
Atgriež rakstzīmju skaitu virknē |
Vid |
Atgriež noteiktu rakstzīmju skaitu no virknes |
Minūte |
Atgriež laika vērtības minūšu daļu |
Mēnesis |
Atgriež mēnesi no datuma vērtības |
MsgBox |
Parāda ziņojuma lodziņu un (pēc izvēles) atgriež vērtību |
Tagad |
Atgriež pašreizējo sistēmas datumu un laiku |
Aizvietot |
Aizstāj apakšvirkni virknē ar citu apakšvirkni |
RGB |
Atgriež skaitlisku RGB vērtību, kas apzīmē krāsu |
Taisnība |
Atgriež noteiktu rakstzīmju skaitu no virknes labās puses |
Rnd |
Atgriež nejaušu skaitli no 0 līdz 1 |
Otrkārt |
Atgriež laika vērtības sekunžu daļu |
Apvalks |
Palaiž izpildāmu programmu |
Kosmoss |
Atgriež virkni ar noteiktu atstarpju skaitu |
Sadalīt |
Sadala virkni daļās, izmantojot norobežojošo rakstzīmi |
Sqr |
Atgriež skaitļa kvadrātsakni |
Stīga |
Atgriež atkārtotu rakstzīmi vai virkni |
Laiks |
Atgriež pašreizējo sistēmas laiku |
Taimeris |
Atgriež sekunžu skaitu kopš pusnakts |
TimeSerial |
Atgriež laiku noteiktā stundā, minūtē un sekundē |
TimeValue |
Pārvērš virkni par laika sērijas numuru |
Apgriezt |
Atgriež virkni bez sākuma vai beigu atstarpēm |
TypeName |
Atgriež virkni, kas apraksta mainīgā datu tipu |
UBound |
Atgriež lielāko pieejamo masīva dimensijas apakšindeksu |
UCase |
Pārvērš virkni par lielajiem burtiem |
Val |
Atgriež virknē ietvertos skaitļus |
Darba diena |
Atgriež skaitli, kas apzīmē nedēļas dienu |
gads |
Atgriež gadu no datuma vērtības |
Lai iegūtu pilnīgu informāciju par konkrētu Excel VBA funkciju , ierakstiet funkcijas nosaukumu VBA modulī, pārvietojiet kursoru jebkurā teksta vietā un nospiediet F1.