(Pielāgotu) lietotāja definētu funkciju (UDF) izveide

Šajā apmācībā tiks paskaidrots, kā izveidot lietotāja definētas funkcijas VBA.

VBA sastāv no apakšprocedūrām un funkciju procedūrām. Funkciju procedūras atgriež vērtību, un tās var izsaukt, izmantojot apakšprocedūras, vai arī tās var izmantot Excel lapā, kur funkcijas radītā vērtība tiek atgriezta Excel lapā. Protams, programmā Excel ir virkne iebūvētu funkciju, piemēram, summa vai funkcija If. Funkciju procedūras, kuras rakstāt VBA, tiek izmantotas līdzīgi kā iebūvētā funkcija, un tās ir pazīstamas kā lietotāja definētas funkcijas (UDF).

Kāpēc izveidot UDF?

Trūkst nepieciešamās funkcijas

Viens no galvenajiem iemesliem, kāpēc vēlaties izveidot UDF programmā Excel, ir tas, ka nav esošas iebūvētas funkcijas, kas veiks uzdevumu jūsu vietā. Savas funkcijas rakstīšana VBA parasti ir visefektīvākais veids, kā atrisināt problēmu. Tālāk norādītā funkcija konvertēs vērtību no kilogramiem uz mārciņām, kur aprēķināšanai tiek izmantots mainīgais parametrs (dblKilo), lai iegūtu kilogramu vērtību.

Apakšprogrammas aizstāšana (makro)

Jūs varētu uzrakstīt apakšprocedūru (makro), lai atrisinātu uzdevumu jūsu vietā - bet apakšprocedūras neatgriež vērtību un tās nav dinamiskas - citiem vārdiem sakot, ja jūsu darblapas vērtības mainās, jums ir nepieciešams atkārtoti palaist makro, lai makro aprēķini atjauninātu jūsu datus. Tālāk norādītā apakšprocedūra arī pārvērtīs mūsu kilogramus par mārciņām, taču katru reizi, kad dati mainījās A1, jums būs nepieciešams atkārtoti palaist makro, lai atjauninātu rezultātu.

Aizstāt formulu

Jums var būt patiešām sarežģīta formula programmā Excel, kas jums jāizmanto atkārtoti - ievietojot formulu VBA kodā, tā ir vieglāk lasāma un saprotama -, kā arī, iespējams, tiek atbrīvota vieta lietotāju kļūdām, rakstot formulu.

UDF izveide

Lai izveidotu UDF, vispirms pievienojiet moduli savai Excel darbgrāmatai vai, ja jums ir Personal Macro darbgrāmata, varat vai nu izmantot tur esošo moduli, vai pievienot jaunu. Lai to izdarītu, jums jābūt Visual Basic Editor (VBE). Lai nokļūtu VBE, nospiediet ALT + F11 vai lentes cilnē Izstrādātājs noklikšķiniet uz opcijas Visual Basic.

PADOMS: Ja lentē nav iespējota cilne Izstrādātājs, dodieties uz Fails, opcijas un noklikšķiniet uz Pielāgot lenti. Pārliecinieties, vai ir atzīmēta izvēles rūtiņa Izstrādātājs, un noklikšķiniet uz Labi.

Lai ievietotu jaunu moduli, atlasiet VBA projektu, kurā vēlaties ievietot moduli (vai nu pašreizējās grāmatas VBA projekts, vai personīgā makro darbgrāmata), noklikšķiniet uz Ievietot Izvēlne un noklikšķiniet uz Modulis

Kad esat izveidojis savu moduli, varat sākt veidot savu UDF.

Visi UDF sākas ar funkciju un pēc tam UDF nosaukumu. Funkcijas var būt privātas vai publiskas, taču parasti vēlaties, lai UDF būtu publisks, lai tās tiktu parādītas dialoglodziņā Funkcijas ievietošana programmā Excel (skatiet funkcijas izmantošanu no Excel lapas tālāk šajā rakstā). Ja funkcijas priekšā nenovietojat atslēgvārdu Privāts, funkcija automātiski ir publiska.

123 Funkcija TestFunction1 (intA As Integer) Kā vesels skaitlisTestFunction1 = intA * 7Beigu funkcija

Iepriekš minētajai funkcijai ir viens arguments (intA). Funkciju var izveidot ar vairākiem argumentiem

123 Funkciju tests Funkcija2 (intA kā vesels skaitlis, intB kā vesels skaitlis, intC kā vesels skaitlis) kā vesels skaitlisTestFunction2 = (intA * intB) + intCBeigu funkcija

Varat arī izveidot funkciju ar izvēles argumentiem. Ja arguments tiek izlaists, funkcijā varat iestatīt argumenta noklusējuma vērtību.

123 Funkcija TestFunction3 (intA kā vesels skaitlis, intB kā vesels skaitlis, pēc izvēles intC kā vesels skaitlis = 10) kā vesels skaitlisTestFunction3 = (intA * intB) + intCBeigu funkcija

Funkcijas izmantošana no Excel lapas

Jūsu izveidotās funkcijas pēc noklusējuma parādīsies jūsu funkciju sarakstā funkciju saraksta lietotāja definētajā sadaļā.

Noklikšķiniet uz fx lai parādītu dialoglodziņu Funkcijas ievietošana.

Izvēlieties Lietotājs definēts no kategoriju saraksta

Izvēlieties vajadzīgo funkciju no pieejamās Lietotāja definētas funkcijas.

Alternatīvi, kad sākat rakstīt savu funkciju programmā Excel, funkcijai vajadzētu parādīties nolaižamajā funkciju sarakstā.

Funkciju saglabāšana kopā ar Excel failu

Tā kā funkcijas ir rakstītas VBA kodā, ir skaidrs, ka kodam ir jābūt pieejamam darbgrāmatai, lai to varētu izmantot Excel lapā. Jūs varat vai nu saglabāt savas funkcijas darbgrāmatā, kurā tās izmantojat, vai arī saglabāt savā personīgajā makro darbgrāmatā. Jūsu personīgā makro darbgrāmata ir slēpts fails, kas ir pieejams ikreiz, kad ir atvērta programma Excel, un tāpēc ir pieejams jebkurai Excel darbgrāmatai. Parasti tas tiek izveidots, ierakstot makro un atlasot opciju makro saglabāt personiskajā makro darbgrāmatā.

Ja vēlaties saglabāt savas funkcijas darbgrāmatā, pie kuras strādājat, jums jāpārliecinās, ka, saglabājot darbgrāmatu, tā tiks saglabāta kāMakro iespējota darbgrāmata'Vai an xlsm failu.

wave wave wave wave wave