- Kas ir funkciju procedūra VBA?
- Vienkāršas lietotāja definētas funkcijas izveide VBA
- Lietotāja definētas funkcijas anatomija VBA
- Argumenti lietotāja definētā funkcijā VBA
- Funkcijas izveide, kas atgriež masīvu
- Izpratne par lietotāja definētas funkcijas darbības jomu programmā Excel
- Dažādi lietotāja definētas funkcijas izmantošanas veidi programmā Excel
- Iziet funkciju paziņojuma VBA izmantošana
- Lietotāja definētas funkcijas atkļūdošana
- Excel iebūvētās funkcijas vs. VBA lietotāja definēta funkcija
- Kur ievietot lietotāja definētas funkcijas VBA kodu
Izmantojot VBA, varat izveidot pielāgotu funkciju (sauktu arī par lietotāja definētu funkciju), ko darblapās var izmantot tāpat kā parastās funkcijas.
Tie ir noderīgi, ja ar esošajām Excel funkcijām nepietiek. Šādos gadījumos varat izveidot savu pielāgoto lietotāja definēto funkciju (UDF), kas atbilst jūsu īpašajām vajadzībām.
Šajā apmācībā es apskatīšu visu par pielāgotu funkciju izveidi un izmantošanu VBA.
Ja jūs interesē vienkāršs VBA apguves veids, apskatiet manu Tiešsaistes Excel VBA apmācība.
Kas ir funkciju procedūra VBA?
Funkciju procedūra ir VBA kods, kas veic aprēķinus un atgriež vērtību (vai vērtību masīvu).
Izmantojot funkciju procedūru, varat izveidot funkciju, kuru varat izmantot darblapā (tāpat kā jebkuru parastu Excel funkciju, piemēram, SUM vai VLOOKUP).
Kad esat izveidojis funkciju procedūru, izmantojot VBA, varat to izmantot trīs veidos:
- Kā formulu darblapā, kur tā var izmantot argumentus kā ievadi un atgriež vērtību vai vērtību masīvu.
- Kā daļa no jūsu VBA apakšprogrammas koda vai cita funkcijas koda.
- Nosacītā formatēšanā.
Lai gan darblapā jau ir pieejamas 450+ iebūvētas Excel funkcijas, jums var būt nepieciešama pielāgota funkcija, ja:
- Iebūvētās funkcijas nevar darīt to, ko vēlaties paveikt. Šajā gadījumā jūs varat izveidot pielāgotu funkciju, pamatojoties uz jūsu prasībām.
- Iebūvētās funkcijas var paveikt darbu, bet formula ir gara un sarežģīta. Šajā gadījumā jūs varat izveidot pielāgotu funkciju, kas ir viegli lasāma un lietojama.
Funkcija Vs. Apakšprogramma VBA
“Apakšprogramma” ļauj izpildīt koda kopu, bet “Funkcija” atgriež vērtību (vai vērtību masīvu).
Lai sniegtu piemēru, ja jums ir skaitļu saraksts (gan pozitīvs, gan negatīvs) un vēlaties identificēt negatīvos skaitļus, lūk, ko jūs varat darīt ar funkciju un apakšprogrammu.
Apakšprogramma var pārvietoties pa katru diapazona šūnu un izcelt visas šūnas, kurām ir negatīva vērtība. Šajā gadījumā apakšprogramma galu galā maina diapazona objekta īpašības (mainot šūnu krāsu).
Izmantojot pielāgotu funkciju, varat to izmantot atsevišķā slejā, un tā var atgriezt TRUE, ja šūnas vērtība ir negatīva, un FALSE, ja tā ir pozitīva. Izmantojot funkciju, jūs nevarat mainīt objekta īpašības. Tas nozīmē, ka šūnas krāsu nevar mainīt ar pašu funkciju (tomēr to var izdarīt, izmantojot nosacītu formatējumu ar pielāgoto funkciju).
Veidojot lietotāja definētu funkciju (UDF), izmantojot VBA, šo funkciju darblapā varat izmantot tāpat kā jebkuru citu funkciju. Vairāk par to es runāšu sadaļā “Dažādi lietotāja definētas funkcijas izmantošanas veidi programmā Excel”.
Vienkāršas lietotāja definētas funkcijas izveide VBA
Ļaujiet man izveidot vienkāršu lietotāja definētu funkciju VBA un parādīt, kā tā darbojas.
Zemāk esošais kods izveido funkciju, kas iegūs ciparu daļas no burtciparu virknes.
Funkcija GetNumeric (CellRef kā virkne) kā gara blāva virkne Garums kā vesels skaitlis StringLength = Len (CellRef) Attiecībā uz i = 1 līdz StringLength If IsNumeric (Mid (CellRef, i, 1)), tad rezultāts = Result & Mid (CellRef, i, 1) Tālāk i GetNumeric = Rezultāta beigu funkcija
Ja modulī ir iepriekš minētais kods, varat izmantot šo funkciju darbgrāmatā.
Tālāk ir aprakstīts, kā šī funkcija - GetNumeric - var izmantot programmā Excel.
Pirms es jums pastāstīšu, kā šī funkcija tiek izveidota VBA un kā tā darbojas, ir jāzina dažas lietas:
- Veidojot funkciju VBA, tā kļūst pieejama visā darbgrāmatā tāpat kā jebkura cita parasta funkcija.
- Ievadot funkcijas nosaukumu, kam seko vienādības zīme, programma Excel parādīs funkcijas nosaukumu atbilstošo funkciju sarakstā. Iepriekš minētajā piemērā, kad es ievadīju = Get, programma Excel parādīja sarakstu ar manu pielāgoto funkciju.
Es uzskatu, ka tas ir labs piemērs, kad varat izmantot VBA, lai programmā Excel izveidotu vienkārši lietojamu funkciju. Jūs varat darīt to pašu ar formulu (kā parādīts šajā apmācībā), taču tas kļūst sarežģīti un grūti saprotami. Izmantojot šo UDF, jums jānokārto tikai viens arguments, un jūs iegūsit rezultātu.
Lietotāja definētas funkcijas anatomija VBA
Iepriekšējā sadaļā es jums devu kodu un darblapā parādīju, kā darbojas UDF funkcija.
Tagad iedziļināsimies un redzēsim, kā šī funkcija tiek izveidota. Tālāk norādītais kods jāievieto VB redaktora modulī. Es aplūkoju šo tēmu sadaļā - “Kur ievietot lietotāja definētas funkcijas VBA kodu”.
Funkcija GetNumeric (CellRef kā virkne) kā gara 'Šī funkcija ekstrahē skaitlisko daļu no virknes Dim StringLength kā vesels skaitlis StringLength = Len (CellRef) Attiecībā uz i = 1 līdz StringLength If IsNumeric (Mid (CellRef, i, 1)) Tad Rezultāts = Rezultāts un vidus (CellRef, i, 1) Tālāk i GetNumeric = Rezultāta beigu funkcija
Pirmā koda rinda sākas ar vārdu - Funkcija.
Šis vārds norāda VBA, ka mūsu kods ir funkcija (nevis apakšprogramma). Vārdam Function seko funkcijas nosaukums - GetNumeric. Šo nosaukumu darblapā izmantosim, lai izmantotu šo funkciju.
- Funkcijas nosaukumā nedrīkst būt atstarpes. Jūs arī nevarat nosaukt funkciju, ja tā ir pretrunā ar šūnas atsauces nosaukumu. Piemēram, jūs nevarat nosaukt funkciju ABC123, jo tā attiecas arī uz šūnu Excel darblapā.
- Jums nevajadzētu piešķirt savai funkcijai tādu pašu nosaukumu kā esošai funkcijai. Ja jūs to darāt, programma Excel dod priekšroku iebūvētajai funkcijai.
- Ja vēlaties atdalīt vārdus, varat izmantot pasvītrojumu. Piemēram, Get_Numeric ir pieņemams nosaukums.
Funkcijas nosaukumam iekavās seko daži argumenti. Šie ir argumenti, kas mūsu funkcijai būtu nepieciešami no lietotāja. Tie ir tāpat kā argumenti, kas mums ir jāsniedz Excel iebūvētajām funkcijām. Piemēram, funkcijā COUNTIF ir divi argumenti (diapazons un kritēriji)
Iekavās ir jānorāda argumenti.
Mūsu piemērā ir tikai viens arguments - CellRef.
Laba prakse ir arī norādīt, kāda veida argumentus funkcija sagaida. Šajā piemērā, tā kā funkcija tiks ievadīta šūnu atsaucē, mēs varam norādīt argumentu kā “diapazona” veidu. Ja nenorādāt datu tipu, VBA to uzskatītu par variantu (tas nozīmē, ka varat izmantot jebkuru datu tipu).
Ja jums ir vairāk nekā viens arguments, varat norādīt tos vienā iekavās - atdalot ar komatu. Vēlāk šajā apmācībā mēs redzēsim, kā lietotāja argumentā izmantot vairākus argumentus.
Ņemiet vērā, ka funkcija ir norādīta kā “String” datu tips. Tas VBA pateiktu, ka formulas rezultāts būs datu tips String.
Lai gan es šeit varu izmantot skaitlisku datu tipu (piemēram, garš vai divkāršs), tas ierobežotu skaitļu diapazonu, ko tas var atgriezt. Ja man ir virkne ar 20 cipariem, kas jāizņem no kopējās virknes, funkcijas deklarēšana kā garā vai dubultā radītu kļūdu (jo numurs būtu ārpus tā diapazona). Tāpēc funkcijas izvades datu tipu esmu saglabājis kā virkni.
Koda otrā rinda - zaļā krāsā, kas sākas ar apostrofu - ir komentārs. Lasot kodu, VBA šo rindu ignorē. Varat to izmantot, lai pievienotu aprakstu vai detalizētu informāciju par kodu.
Koda trešajā rindā mainīgais “StringLength” tiek deklarēts kā vesels skaitlis. Šis ir mainīgais, kurā mēs glabājam virknes garuma vērtību, kas tiek analizēta pēc formulas.
Ceturtajā rindā mainīgais Result tiek deklarēts kā virknes datu tips. Šis ir mainīgais, kurā mēs iegūsim skaitļus no burtciparu virknes.
Piektā rinda piešķir ievades argumenta virknes garumu mainīgajam “StringLength”. Ņemiet vērā, ka “CellRef” attiecas uz argumentu, ko sniegs lietotājs, izmantojot formulu darblapā (vai izmantojot to VBA - ko mēs redzēsim vēlāk šajā apmācībā).
Sestā, septītā un astotā rinda ir cilnes For Next daļa. Cilpa darbojas tik reižu, cik ievades argumentā ir rakstzīmes. Šo numuru piešķir funkcija LEN un tas tiek piešķirts mainīgajam “StringLength”.
Tātad cilpa iet no “1 līdz virknes garumam”.
Cikla ietvaros IF priekšraksts analizē katru virknes rakstzīmi, un, ja tas ir skaitlisks, tas pievieno šo skaitlisko rakstzīmi mainīgajam rezultātam. Lai to izdarītu, VBA izmanto MID funkciju.
Koda otrā pēdējā rinda piešķir funkcijai rezultāta vērtību. Šī koda rinda nodrošina, ka funkcija atgriež šūnā (no vietas, kur to sauc) vērtību “Rezultāts”.
Pēdējā koda rinda ir beigu funkcija. Šī ir obligāta koda rinda, kas norāda VBA, ka funkcijas kods šeit beidzas.
Iepriekš minētais kods izskaidro dažādas tipiskas pielāgotas funkcijas daļas, kas izveidotas VBA. Turpmākajās sadaļās mēs iedziļināsimies šajos elementos, kā arī apskatīsim dažādus veidus, kā programmā Excel izpildīt VBA funkciju.
Argumenti lietotāja definētā funkcijā VBA
Iepriekš minētajos piemēros, kur mēs izveidojām lietotāja definētu funkciju, lai iegūtu ciparu daļu no burtciparu virknes (GetNumeric), funkcija tika izstrādāta, lai ņemtu vienu argumentu.
Šajā sadaļā es apskatīšu, kā izveidot funkcijas, kurās nav argumentu tām, kuras izmanto vairākus argumentus (obligātos, kā arī izvēles argumentus).
Funkcijas izveide VBA bez jebkādiem argumentiem
Excel darblapā mums ir vairākas funkcijas, kurām nav argumentu (piemēram, RAND, TODAY, NOW).
Šīs funkcijas nav atkarīgas no ievades argumentiem. Piemēram, funkcija ŠODIEN atgriež pašreizējo datumu, bet funkcija RAND atgriež nejaušu skaitli no 0 līdz 1.
Šādu līdzīgu funkciju varat izveidot arī VBA.
Zemāk ir kods, kas dos jums faila nosaukumu. Tam nav nepieciešami nekādi argumenti, jo rezultāts, kas jāatgriež, nav atkarīgs no neviena argumenta.
Funkcija WorkbookName () Kā virkne WorkbookName = ThisWorkbook.Name Beigu funkcija
Iepriekš minētais kods norāda funkcijas rezultātu kā virknes datu veidu (jo vēlamais rezultāts ir faila nosaukums - virkne).
Šī funkcija funkcijai piešķir vērtību “ThisWorkbook.Name”, kas tiek atgriezta, kad funkcija tiek izmantota darblapā.
Ja fails ir saglabāts, tas atgriež nosaukumu ar faila paplašinājumu, pretējā gadījumā tas vienkārši norāda nosaukumu.
Tomēr iepriekš minētajam ir viena problēma.
Ja faila nosaukums mainās, tas netiks automātiski atjaunināts. Parasti funkcija tiek atsvaidzināta ikreiz, kad tiek mainīti ievades argumenti. Bet, tā kā šajā funkcijā nav argumentu, funkcija netiek pārrēķināta (pat ja maināt darbgrāmatas nosaukumu, aizveriet to un pēc tam atveriet vēlreiz).
Ja vēlaties, varat piespiest pārrēķinu, izmantojot īsinājumtaustiņu - Control + Alt + F9.
Lai veiktu formulas pārrēķināšanu ikreiz, kad darblapā tiek veiktas izmaiņas, tai ir jāievada koda rindiņa.
Tālāk esošais kods liek funkcijai pārrēķināties ikreiz, kad darblapā tiek veiktas izmaiņas (tāpat kā citas līdzīgas darblapas funkcijas, piemēram, ŠODIEN vai RAND funkcija).
Funkciju darbgrāmatas nosaukums () kā virknes lietojumprogramma. Gaistoša patiesa darbgrāmatas nosaukums = ThisWorkbook.Name beigu funkcija
Tagad, mainot darbgrāmatas nosaukumu, šī funkcija tiks atjaunināta ikreiz, kad darblapā tiks veiktas kādas izmaiņas vai atkārtoti atvērsit šo darbgrāmatu.
Funkcijas izveide VBA ar vienu argumentu
Vienā no iepriekš minētajām sadaļām mēs jau esam redzējuši, kā izveidot funkciju, kurā ir tikai viens arguments (iepriekš aprakstītā funkcija GetNumeric).
Izveidosim vēl vienu vienkāršu funkciju, kas aizņem tikai vienu argumentu.
Funkcija, kas izveidota ar zemāk esošo kodu, atsauces tekstu pārvērš lielajos burtos. Tagad mums jau ir tā funkcija programmā Excel, un šī funkcija ir paredzēta, lai parādītu, kā tā darbojas. Ja jums tas jādara, labāk ir izmantot iebūvēto UPPER funkciju.
Funkcija ConvertToUpperCase (CellRef kā diapazons) ConvertToUpperCase = UCase (CellRef) beigu funkcija
Šī funkcija izmanto UCase funkciju VBA, lai mainītu mainīgā CellRef vērtību. Pēc tam tā piešķir vērtību funkcijai ConvertToUpperCase.
Tā kā šī funkcija aizņem argumentu, mums šeit nav jāizmanto lietojumprogramma. Gaistošā daļa. Tiklīdz arguments mainās, funkcija tiks automātiski atjaunināta.
Funkcijas izveide VBA ar vairākiem argumentiem
Tāpat kā darblapas funkcijas, VBA varat izveidot funkcijas, kurās tiek izmantoti vairāki argumenti.
Zemāk esošais kods radītu funkciju, kas izvilks tekstu pirms norādītā atdalītāja. Tam nepieciešami divi argumenti - šūnas atsauce ar teksta virkni un norobežotājs.
Funkcija GetDataBeforeDelimiter (CellRef As Range, Delim As String) kā virkne Dim Rezultāts Kā virkne Dim DelimPosition Kā vesels skaitlis DelimPosition = InStr (1, CellRef, Delim, vbBinaryCompare) - 1 Rezultāts = Left (CellRef, DelimPosition) GetDataBefore Endelimiter
Ja lietotāja definētā funkcijā jāizmanto vairāki argumenti, iekavās visi argumenti var būt atdalīti ar komatu.
Ņemiet vērā, ka katram argumentam varat norādīt datu tipu. Iepriekš minētajā piemērā “CellRef” ir deklarēts kā diapazona datu tips un “Delim” ir deklarēts kā virknes datu tips. Ja nenorādāt nevienu datu tipu, VBA uzskata, ka tie ir datu tipa varianti.
Ja darblapā izmantojat iepriekš minēto funkciju, jums jānorāda šūnas atsauce, kuras teksts ir pirmais arguments un atdalītāja rakstzīme (-s) pēdiņās kā otrais arguments.
Pēc tam tā pārbauda norobežotāja stāvokli, izmantojot INBA funkciju VBA. Pēc tam šo pozīciju izmanto, lai iegūtu visas rakstzīmes pirms norobežotāja (izmantojot LEFT funkciju).
Visbeidzot, tas piešķir rezultātu funkcijai.
Šī formula nebūt nav perfekta. Piemēram, ja ievadāt norobežotāju, kas nav atrodams tekstā, tas radītu kļūdu. Tagad darblapā varat izmantot funkciju IFERROR, lai atbrīvotos no kļūdām, vai arī izmantojiet zemāk esošo kodu, kas atgriež visu tekstu, ja tas nevar atrast norobežotāju.
Funkcija GetDataBeforeDelimiter (CellRef As Range, Delim As String) kā String Dim Rezultāts Kā String Dim DelimPosition As Integer DelimPosition = InStr (1, CellRef, Delim, vbBinaryCompare) - 1 Ja DelimPosition <0, tad DelimPosition = Len (CellRef) Rezultāts = Pa kreisi CellRef, DelimPosition) GetDataBeforeDelimiter = Rezultāta beigu funkcija
Mēs varam vēl vairāk optimizēt šo funkciju.
Ja jūs ievadāt tekstu (no kura vēlaties iegūt daļu pirms norobežotāja) tieši funkcijā, tas radīs kļūdu. Uz priekšu … izmēģiniet!
Tas notiek, jo mēs esam norādījuši “CellRef” kā diapazona datu tipu.
Vai arī, ja vēlaties, lai norobežotājs atrastos šūnā un šūnā izmantotu atsauci, nevis kodētu to formulā, to nevar izdarīt ar iepriekš minēto kodu. Tas ir tāpēc, ka Delim ir deklarēts kā virknes datu tips.
Ja vēlaties, lai funkcija varētu elastīgi pieņemt tiešu teksta ievadi vai šūnu atsauces no lietotāja, jums ir jānoņem datu tipa deklarācija. Tas galu galā padarītu argumentu par datu tipa variantu, kas var izmantot jebkura veida argumentus un tos apstrādāt.
Zemāk esošais kods to darīs:
Funkcija GetDataBeforeDelimiter (CellRef, Delim) kā virkņu blāvs rezultāts kā virkņu blāva DelimPosition kā vesels skaitlis GetDataBeforeDelimiter = Rezultāta beigu funkcija
Funkcijas izveide VBA ar neobligātiem argumentiem
Programmā Excel ir daudzas funkcijas, kurās daži argumenti nav obligāti.
Piemēram, leģendārajai funkcijai VLOOKUP ir 3 obligāti argumenti un viens fakultatīvs arguments.
Neobligāts arguments, kā norāda nosaukums, nav obligāti jānorāda. Ja nenorādāt vienu no obligātajiem argumentiem, jūsu funkcija parādīs kļūdu, bet, ja nenorādīsiet izvēles argumentu, jūsu funkcija darbosies.
Bet izvēles argumenti nav bezjēdzīgi. Tie ļauj jums izvēlēties no dažādām iespējām.
Piemēram, funkcijā VLOOKUP, ja nenorādāt ceturto argumentu, VLOOKUP veic aptuvenu uzmeklēšanu, un, ja pēdējo argumentu norādāt kā FALSE (vai 0), tas precīzi precizē.
Atcerieties, ka fakultatīvajiem argumentiem vienmēr ir jābūt pēc visiem nepieciešamajiem argumentiem. Sākumā nevar būt neobligāti argumenti.
Tagad redzēsim, kā izveidot funkciju VBA ar izvēles argumentiem.
Funkcija ar tikai izvēles argumentu
Cik es zinu, nav nevienas iebūvētas funkcijas, kas izmantotu tikai izvēles argumentus (šeit es varu kļūdīties, bet es nevaru iedomāties nevienu šādu funkciju).
Bet mēs to varam izveidot ar VBA.
Tālāk ir norādīts tās funkcijas kods, kas dos jums pašreizējo datumu formātā dd-mm-gggg, ja neievadīsit nevienu argumentu (ti, atstājiet to tukšu), un formātā “dd mmmm, gggg”, ja ievadīsit kaut ko. kā argumentu (ti, jebko, lai arguments nebūtu tukšs).
Funkcija CurrDate (neobligāti fmt kā variants) Dim Rezultāts If IsMissing (fmt) Tad CurrDate = Format (Date, "dd-mm-gggg") Else CurrDate = Format (Date, "dd mmmm, yyyy") End if End Function
Ņemiet vērā, ka iepriekš minētā funkcija izmanto “IsMissing”, lai pārbaudītu, vai trūkst argumenta. Lai izmantotu funkciju IsMissing, jūsu izvēles argumentam ir jābūt datu tipa variantam.
Iepriekš minētā funkcija darbojas neatkarīgi no tā, ko ievadāt kā argumentu. Kodā mēs pārbaudām tikai to, vai ir iesniegts izvēles arguments.
Varat to padarīt stabilāku, argumentos ņemot tikai noteiktas vērtības un pārējos gadījumos parādot kļūdu (kā parādīts zemāk esošajā kodā).
Funkcija CurrDate (pēc izvēles fmt kā variants) Dim Rezultāts Ja IsMissing (fmt) Tad CurrDate = Formāts (datums, "dd-mm-gggg") ElseIf fmt = 1 Tad CurrDate = Formāts (datums, "dd mmmm, gggg") Cits CurrDate = CVErr (xlErrValue) Beigt, ja beigu funkcija
Iepriekš minētais kods izveido funkciju, kas parāda datumu formātā “dd-mm-gggg”, ja netiek sniegts neviens arguments, un formātā “dd mmmm, gggg”, ja arguments ir 1. Tas rada kļūdu visos pārējos gadījumos.
Funkcija ar obligātajiem un izvēles argumentiem
Mēs jau esam redzējuši kodu, kas no virknes iegūst skaitlisko daļu.
Tagad apskatīsim līdzīgu piemēru, kurā ir gan obligāti, gan neobligāti argumenti.
Zemāk esošais kods izveido funkciju, kas izvelk teksta daļu no virknes. Ja fakultatīvais arguments ir TRUE, tas rezultātu norāda ar lielajiem burtiem, un, ja fakultatīvais arguments ir FALSE vai tiek izlaists, tas dod rezultātu tādu, kāds tas ir.
Funkcija GetText (CellRef kā diapazons, pēc izvēles TextCase = False) Kā virkne Dim StringLength Kā vesels skaitlis Dim Rezultāts kā String StringLength = Len (CellRef) Attiecībā uz i = 1 līdz StringLength Ja nē (IsNumeric (Mid (CellRef, i, 1))) Tad Rezultāts = rezultāts un vidus (CellRef, i, 1) Nākamais i If TextCase = True, tad rezultāts = UCase (rezultāts) GetText = Rezultāta beigu funkcija
Ņemiet vērā, ka iepriekš minētajā kodā mēs esam inicializējuši “TextCase” vērtību kā False (skatieties iekavās pirmajā rindā).
To darot, mēs esam nodrošinājuši, ka izvēles arguments sākas ar noklusējuma vērtību, kas ir FALSE. Ja lietotājs norāda vērtību kā TRUE, funkcija atgriež tekstu ar lielajiem burtiem, un, ja lietotājs norāda neobligāto argumentu kā FALSE vai izlaiž to, tad atgrieztais teksts ir tāds, kāds tas ir.
Funkcijas izveide VBA ar masīvu kā argumentu
Līdz šim mēs esam redzējuši piemērus, kā izveidot funkciju ar neobligātiem/obligātiem argumentiem - kur šie argumenti bija viena vērtība.
Varat arī izveidot funkciju, kas var izmantot masīvu kā argumentu. Excel darblapas funkcijās ir daudzas funkcijas, kas izmanto masīva argumentus, piemēram, SUM, VLOOKUP, SUMIF, COUNTIF utt.
Zemāk ir kods, kas izveido funkciju, kas dod visu pāra skaitļu summu norādītajā šūnu diapazonā.
Funkcija AddEven (CellRef kā diapazons) Dim šūna kā diapazons katrai CellRef šūnai Funkcija
Šo funkciju varat izmantot darblapā un norādīt šūnu diapazonu, kura argumenti ir skaitļi. Funkcija atgriež vienu vērtību - visu pāra skaitļu summu (kā parādīts zemāk).
Iepriekš minētajā funkcijā vienas vērtības vietā mēs esam piegādājuši masīvu (A1: A10). Lai tas darbotos, jums jāpārliecinās, ka jūsu argumenta datu tips var pieņemt masīvu.
Iepriekš minētajā kodā es norādīju argumentu CellRef kā diapazonu (kas var ievadīt masīvu). Šeit varat izmantot arī datu tipa variantu.
Kodā ir cilpa Katrai cilpai, kas iet caur katru šūnu un pārbauda, vai tā nav. Ja tā nav, nekas nenotiek un tas pāriet uz nākamo šūnu. Ja tas ir skaitlis, tas pārbauda, vai tas ir vienāds vai nē (izmantojot funkciju MOD).
Galu galā visi pāra skaitļi tiek pievienoti un summa tiek piešķirta funkcijai.
Funkcijas izveide ar neierobežotu argumentu skaitu
Veidojot dažas funkcijas VBA, iespējams, jūs nezināt precīzu argumentu skaitu, ko lietotājs vēlas sniegt. Tāpēc ir jāizveido funkcija, kas var pieņemt tik daudz argumentu, un izmantot tos, lai atgrieztu rezultātu.
Šādas darblapas funkcijas piemērs ir funkcija SUM. Tam varat iesniegt vairākus argumentus (piemēram, šo):
= SUMMA (A1, A2: A4, B1: B20)
Iepriekš minētā funkcija pievienos vērtības visos šajos argumentos. Ņemiet vērā arī to, ka tās var būt viena šūna vai šūnu masīvs.
Jūs varat izveidot šādu funkciju VBA, norādot pēdējo argumentu (vai tas varētu būt vienīgais arguments) kā neobligātu. Pirms šī neobligātā argumenta ir jābūt atslēgvārdam “ParamArray”.
“ParamArray” ir modifikators, kas ļauj pieņemt tik daudz argumentu, cik vēlaties. Ņemiet vērā, ka, lietojot vārdu ParamArray pirms argumenta, arguments ir neobligāts. Tomēr šeit jums nav jāizmanto vārds Neobligāti.
Tagad izveidosim funkciju, kas var pieņemt patvaļīgu skaitu argumentu un pievienot visus skaitļus norādītajos argumentos:
Funkcija AddArguments (ParamArray arglist () kā variants) Katram argumentam arglistā AddArguments = AddArguments + arg Next arg Beigt funkciju
Iepriekš minētā funkcija var izmantot jebkuru argumentu skaitu un pievienot šos argumentus, lai iegūtu rezultātu.
Ņemiet vērā, ka kā argumentu varat izmantot tikai vienu vērtību, šūnas atsauci, Būla vērtību vai izteiksmi. Jūs nevarat sniegt masīvu kā argumentu. Piemēram, ja viens no jūsu argumentiem ir D8: D10, šī formula parādīs kļūdu.
Ja vēlaties izmantot abus daudzšūnu argumentus, izmantojiet tālāk norādīto kodu.
Funkcija AddArguments (ParamArray arglist () kā variants) Katram arg Arglist Par katru šūnu In arg AddArguments = AddArguments + Šūna Nākamā šūna Nākamā arg Beigu funkcija
Ņemiet vērā, ka šī formula darbojas ar vairākām šūnām un masīvu atsaucēm, tomēr tā nevar apstrādāt cietās vērtības vai izteiksmes. Jūs varat izveidot stabilāku funkciju, pārbaudot un apstrādājot šos nosacījumus, taču šeit tas nav paredzēts.
Šeit ir paredzēts parādīt, kā darbojas ParamArray, lai jūs varētu atļaut nenoteiktu skaitu argumentu funkcijā. Ja vēlaties labāku funkciju nekā tā, kas izveidota ar iepriekš minēto kodu, izmantojiet darblapas funkciju SUM.
Funkcijas izveide, kas atgriež masīvu
Līdz šim mēs esam redzējuši funkcijas, kas atgriež vienu vērtību.
Izmantojot VBA, varat izveidot funkciju, kas atgriež variantu, kurā var būt viss vērtību masīvs.
Masīva formulas ir pieejamas arī kā iebūvētas funkcijas Excel darblapās. Ja esat iepazinies ar masīva formulām programmā Excel, jūs zināt, ka tās tiek ievadītas, izmantojot Control + Shift + Enter (nevis tikai Enter). Vairāk par masīva formulām varat lasīt šeit. Ja jūs nezināt par masīva formulām, neuztraucieties, turpiniet lasīt.
Izveidosim formulu, kas atgriež trīs skaitļu masīvu (1,2,3).
Zemāk esošais kods to darītu.
Funkcija ThreeNumbers () kā variants Dim NumberValue (1 līdz 3) NumberValue (1) = 1 NumberValue (2) = 2 NumberValue (3) = 3 ThreeNumbers = NumberValue Beigu funkcija
Iepriekš minētajā kodā mēs esam norādījuši funkciju “ThreeNumbers” kā variantu. Tas ļauj tai saglabāt vērtību masīvu.
Mainīgais “NumberValue” tiek deklarēts kā masīvs ar 3 elementiem. Tajā ir trīs vērtības un tā tiek piešķirta funkcijai “Trīs skaitļi”.
Šo funkciju varat izmantot darblapā, ievadot funkciju un nospiežot taustiņu Control + Shift + Enter (turiet nospiestu taustiņu Control un Shift un pēc tam nospiediet taustiņu Enter).
To darot, šūnā tiks atgriezts 1, bet patiesībā tas satur visas trīs vērtības. Lai to pārbaudītu, izmantojiet zemāk esošo formulu:
= MAX (trīs skaitļi ())
Izmantojiet iepriekš minēto funkciju ar Control + Shift + Enter. Jūs pamanīsit, ka rezultāts tagad ir 3, jo tās ir lielākās vērtības masīvā, ko atgriež funkcija Max, kas iegūst trīs skaitļus mūsu lietotāja definētās funkcijas - ThreeNumbers - rezultātā.
Jūs varat izmantot to pašu paņēmienu, lai izveidotu funkciju, kas atgriež mēneša nosaukumu masīvu, kā parādīts zemāk esošajā kodā:
Funkcijas mēneši () kā variants Dim MonthName (no 1 līdz 12) MonthName (1) = "Janvāris" MonthName (2) = "Februāris" MonthName (3) = "Marts" MonthName (4) = "Aprīlis" MonthName (5) = "Maijs" MonthName (6) = "June" MonthName (7) = "July" MonthName (8) = "August" MonthName (9) = "September" MonthName (10) = "October" MonthName (11) = "November" "MonthName (12) =" December "Months = MonthName Beigu funkcija
Tagad, kad Excel darblapā ievadāt funkciju = Mēneši () un izmantojat Control + Shift + Enter, tas atgriezīs visu mēnešu nosaukumu masīvu. Ņemiet vērā, ka šūnā redzat tikai janvāri, jo tā ir pirmā vērtība masīvā. Tas nenozīmē, ka masīvs atgriež tikai vienu vērtību.
Lai parādītu, ka tas atgriež visas vērtības, rīkojieties šādi - atlasiet šūnu ar formulu, dodieties uz formulas joslu, atlasiet visu formulu un nospiediet F9. Tas parādīs visas vērtības, kuras funkcija atgriež.
To var izmantot, izmantojot zemāk esošo indeksa formulu, lai vienā reizē iegūtu visu mēnešu nosaukumu sarakstu.
= INDEX (mēneši (), ROW ())
Tagad, ja jums ir daudz vērtību, nav laba prakse piešķirt šīs vērtības pa vienam (kā mēs to darījām iepriekš). Tā vietā VBA varat izmantot masīva funkciju.
Tātad tas pats kods, kurā mēs veidojam funkciju “Mēneši”, kļūtu īsāks, kā parādīts zemāk:
Funkciju mēneši () Kā variantu mēneši = masīvs ("janvāris", "februāris", "marts", "aprīlis", "maijs", "jūnijs", _ "jūlijs", "augusts", "septembris", "oktobris" , "Novembris", "Decembris") Beigu funkcija
Iepriekš minētā funkcija izmanto funkciju Array, lai piešķirtu vērtības tieši funkcijai.
Ņemiet vērā, ka visas iepriekš izveidotās funkcijas atgriež horizontālu vērtību masīvu. Tas nozīmē, ka, atlasot 12 horizontālas šūnas (teiksim, A1: L1) un šūnā A1 ievadot formulu = Mēneši (), tiks parādīti visi mēnešu nosaukumi.
Bet ko darīt, ja vēlaties šīs vērtības vertikālā šūnu diapazonā.
To var izdarīt, darblapā izmantojot TRANSPOSE formulu.
Vienkārši atlasiet 12 vertikālās šūnas (blakus) un ievadiet zemāk esošo formulu.
Izpratne par lietotāja definētas funkcijas darbības jomu programmā Excel
Funkcijai var būt divas darbības jomas - Publisks vai Privāts.
- A Publisks tvērums nozīmē, ka funkcija ir pieejama visām darbgrāmatas lapām, kā arī visām procedūrām (apakš un funkcija) visos darbgrāmatas moduļos. Tas ir noderīgi, ja vēlaties izsaukt funkciju no apakšprogrammas (kā tas tiks darīts, mēs redzēsim nākamajā sadaļā).
- A Privāts tvērums nozīmē, ka funkcija ir pieejama tikai tajā modulī, kurā tā pastāv. Jūs to nevarat izmantot citos moduļos. Jūs to neredzēsit arī darblapas funkciju sarakstā. Piemēram, ja jūsu funkcijas nosaukums ir “Mēneši ()” un programmā Excel ierakstāt funkciju (pēc zīmes =), funkcijas nosaukums netiks parādīts. Tomēr, ja ievadāt formulas nosaukumu, to joprojām varat izmantot.
Ja neko nenorādāt, šī funkcija pēc noklusējuma ir publiska funkcija.
Zemāk ir funkcija, kas ir privāta funkcija:
Privātas funkcijas darbgrāmatas nosaukums () Kā virkne darbgrāmatas nosaukums = ThisWorkbook.Name Beigu funkcija
Šo funkciju varat izmantot apakšprogrammās un procedūrās tajos pašos moduļos, bet nevar izmantot citos moduļos. Šī funkcija arī netiktu parādīta darblapā.
Zemāk esošais kods padarītu šo funkciju publisku. Tas tiks parādīts arī darblapā.
Funkcija WorkbookName () Kā virkne WorkbookName = ThisWorkbook.Name Beigu funkcija
Dažādi lietotāja definētas funkcijas izmantošanas veidi programmā Excel
Kad esat izveidojis lietotāja definētu funkciju VBA, varat to izmantot daudzos dažādos veidos.
Vispirms apskatīsim, kā izmantot darblapas funkcijas.
UDF izmantošana darblapās
Mēs jau esam redzējuši darblapā VBA izveidotas funkcijas izmantošanas piemērus.
Viss, kas jums jādara, ir jāievada funkciju nosaukums, un tas tiek parādīts intellisense.
Ņemiet vērā: lai funkcija tiktu parādīta darblapā, tai ir jābūt publiskai funkcijai (kā paskaidrots iepriekšējā sadaļā).
Varat arī izmantot dialoglodziņu Funkcijas ievietošana, lai ievietotu lietotāja definētu funkciju (veicot tālāk norādītās darbības). Tas darbotos tikai funkcijām, kas ir publiskas.
- Dodieties uz cilni Dati.
- Noklikšķiniet uz opcijas "Ievietot funkciju".
- Dialoglodziņā Funkcijas ievietošana kā kategoriju atlasiet Lietotāja definēts. Šī opcija tiek parādīta tikai tad, ja VB redaktorā ir funkcija (un šī funkcija ir publiska).
- Visu publiski definēto funkciju sarakstā izvēlieties funkciju.
- Noklikšķiniet uz pogas Labi.
Iepriekš minētās darbības ievietotu funkciju darblapā. Tajā tiek parādīts arī dialoglodziņš Funkciju argumenti, kas sniegs informāciju par argumentiem un rezultātu.
Jūs varat izmantot lietotāja definētu funkciju tāpat kā jebkuru citu Excel funkciju. Tas nozīmē arī to, ka varat to izmantot ar citām iebūvētām Excel funkcijām. Piemēram. zemāk esošā formula dotu darbgrāmatas nosaukumu ar lielajiem burtiem:
= UPPER (darbgrāmatas nosaukums ())
Lietotāja definētu funkciju izmantošana VBA procedūrās un funkcijās
Kad esat izveidojis funkciju, varat to izmantot arī citās apakšprocedūrās.
Ja funkcija ir Publiska, to var izmantot jebkurā procedūrā tajā pašā vai citā modulī. Ja tas ir privāts, to var izmantot tikai tajā pašā modulī.
Zemāk ir funkcija, kas atgriež darbgrāmatas nosaukumu.
Funkcija WorkbookName () Kā virkne WorkbookName = ThisWorkbook.Name Beigu funkcija
Tālāk aprakstītā procedūra izsauc funkciju un pēc tam ziņojuma lodziņā parāda nosaukumu.
Sub ShowWorkbookName () MsgBox WorkbookName End Sub
Funkciju var izsaukt arī no citas funkcijas.
Tālāk norādītajos kodos pirmais kods atgriež darbgrāmatas nosaukumu, bet otrais atgriež nosaukumu ar lielajiem burtiem, izsaucot pirmo funkciju.
Funkcija WorkbookName () Kā virkne WorkbookName = ThisWorkbook.Name Beigu funkcija
Funkcija WorkbookNameinUpper () WorkbookNameinUpper = UCase (darbgrāmatas nosaukums) beigu funkcija
Lietotāja definētas funkcijas izsaukšana no citām darbgrāmatām
Ja darbgrāmatā ir funkcija, šo funkciju varat izsaukt arī citās darbgrāmatās.
Ir vairāki veidi, kā to izdarīt:
- Pievienojumprogrammas izveide
- Saglabāšanas funkcija personiskajā makro darbgrāmatā
- Atsauce uz funkciju no citas darbgrāmatas.
Pievienojumprogrammas izveide
Izveidojot un instalējot pievienojumprogrammu, pielāgotā funkcija būs pieejama visās darbgrāmatās.
Pieņemsim, ka esat izveidojis pielāgotu funkciju - “GetNumeric” un vēlaties to izmantot visās darbgrāmatās. Lai to izdarītu, izveidojiet jaunu darbgrāmatu un ievietojiet funkcijas kodu šīs jaunās darbgrāmatas modulī.
Tagad izpildiet tālāk norādītās darbības, lai to saglabātu kā pievienojumprogrammu un pēc tam instalētu programmā Excel.
- Dodieties uz cilni Fails un noklikšķiniet uz Saglabāt kā.
- Dialoglodziņā Saglabāt kā nomainiet veidu “Saglabāt kā” uz .xlam. Failam piešķirtais nosaukums būs jūsu pievienojumprogrammas nosaukums. Šajā piemērā fails tiek saglabāts ar nosaukumu GetNumeric.
- Jūs pamanīsit, ka faila ceļš, kurā tas tiek saglabāts, automātiski mainās. Ja vēlaties, varat izmantot noklusējuma iestatījumu vai mainīt to.
- Jūs pamanīsit, ka faila ceļš, kurā tas tiek saglabāts, automātiski mainās. Ja vēlaties, varat izmantot noklusējuma iestatījumu vai mainīt to.
- Atveriet jaunu Excel darbgrāmatu un dodieties uz cilni Izstrādātājs.
- Noklikšķiniet uz opcijas Excel pievienojumprogrammas.
- Dialoglodziņā Papildinājumi pārlūkojiet un atrodiet saglabāto failu un noklikšķiniet uz Labi.
Tagad pievienojumprogramma ir aktivizēta.
Tagad pielāgoto funkciju varat izmantot visās darbgrāmatās.
Funkcijas saglabāšana personiskajā makro darbgrāmatā
Personīgā makro darbgrāmata ir jūsu sistēmā paslēpta darbgrāmata, kas tiek atvērta ikreiz, kad atverat programmu Excel.
Tā ir vieta, kur varat saglabāt makro kodus un pēc tam piekļūt šiem makro no jebkuras darbgrāmatas. Tā ir lieliska vieta, kur glabāt tos makro, kurus vēlaties bieži izmantot.
Pēc noklusējuma jūsu programmā Excel nav personiskas makro darbgrāmatas. Jums tas jāizveido, ierakstot makro un saglabājot to personiskajā makro darbgrāmatā.
Detalizētas darbības, kā izveidot un saglabāt makro, varat atrast personīgajā makro darbgrāmatā šeit.
Atsauce uz funkciju no citas darbgrāmatas
Lai gan pirmās divas metodes (pievienojumprogrammas izveide un personīgās makro darbgrāmatas izmantošana) darbotos visās situācijās, ja vēlaties atsaukties uz funkciju no citas darbgrāmatas, šai darbgrāmatai ir jābūt atvērtai.
Pieņemsim, ka jums ir darbgrāmata ar nosaukumu “Darbgrāmata ar formulu ”, un tai ir funkcija ar nosaukumu “GetNumeric ”.
Lai izmantotu šo funkciju citā darbgrāmatā (kamēr Darbgrāmata ar formulu ir atvērts), varat izmantot šādu formulu:
= ‘Darbgrāmata ar formulu’! GetNumeric (A1)
Iepriekš minētā formula izmantos lietotāja definēto funkciju Darbgrāmata ar formulu failu un sniedziet rezultātu.
Ņemiet vērā: tā kā darbgrāmatas nosaukumā ir atstarpes, tas ir jāiekļauj pēdiņās.
Iziet funkciju paziņojuma VBA izmantošana
Ja vēlaties iziet no funkcijas, kamēr kods darbojas, to varat izdarīt, izmantojot paziņojumu “Iziet no funkcijas”.
Zemāk esošais kods no burtciparu teksta virknes izvilktu pirmās trīs ciparu rakstzīmes. Tiklīdz tā iegūst trīs rakstzīmes, funkcija beidzas un atgriež rezultātu.
Funkcija GetNumericFirstThree (CellRef kā diapazons) Tik gara Dim virkne Garums kā vesels skaitlis StringLength = Len (CellRef) Attiecībā uz i = 1 līdz StringLength Ja J = 3, tad izejiet no funkcijas, ja ir ciparu (Mid (CellRef, i, 1)), tad J = J + 1 Rezultāts = rezultāts un vidus (CellRef, i, 1) GetNumericFirstThree = Rezultāta beigas, ja nākamā i beigu funkcija
Iepriekš minētā funkcija pārbauda ciparu rakstzīmju skaitu, un, kad tā iegūst 3 ciparu rakstzīmes, tā iziet no funkcijas nākamajā ciklā.
Lietotāja definētas funkcijas atkļūdošana
Ir dažas metodes, kuras varat izmantot, atkļūdojot lietotāja definētu funkciju VBA:
Pielāgotas funkcijas atkļūdošana, izmantojot ziņojumu lodziņu
Izmantojiet funkciju MsgBox, lai parādītu ziņojumu lodziņu ar noteiktu vērtību.
Parādītā vērtība var būt atkarīga no tā, ko vēlaties pārbaudīt. Piemēram, ja vēlaties pārbaudīt, vai kods tiek izpildīts vai nē, jebkurš ziņojums darbosies, un, ja vēlaties pārbaudīt, vai cilpas darbojas vai ne, varat parādīt noteiktu vērtību vai cilpas skaitītāju.
Pielāgotas funkcijas atkļūdošana, iestatot pārtraukuma punktu
Iestatiet pārtraukuma punktu, lai pa vienam varētu iet pa katru līniju. Lai iestatītu pārtraukuma punktu, atlasiet vajadzīgo līniju un nospiediet F9 vai noklikšķiniet uz pelēkās vertikālās zonas, kas ir atstāta līdz koda līnijām. Jebkura no šīm metodēm ievietotu pārtraukuma punktu (pelēkajā zonā redzēsit sarkanu punktu).
Kad esat iestatījis pārtraukuma punktu un izpildāt funkciju, tas iet līdz pārtraukuma punkta līnijai un pēc tam apstājas. Tagad jūs varat iziet kodu, izmantojot taustiņu F8. Vienreiz nospiežot F8, tiek pārvietota uz nākamo koda rindu.
Pielāgotas funkcijas atkļūdošana, izmantojot atkļūdošanu. Izdrukāt kodā
Kodā varat izmantot paziņojumu Debug.Print, lai tiešajā logā iegūtu norādīto mainīgo/argumentu vērtības.
Piemēram, zemāk esošajā kodā esmu izmantojis Debug.Print, lai iegūtu divu mainīgo vērtību - “j” un “Rezultāts”
Funkcija GetNumericFirstThree (CellRef kā diapazons) Tik gara Dim virkne Garums kā vesels skaitlis StringLength = Len (CellRef) Attiecībā uz i = 1 līdz StringLength Ja J = 3, tad izejiet no funkcijas, ja ir ciparu (Mid (CellRef, i, 1)), tad J = J + 1 Rezultāts = Rezultāts un vidus (CellRef, i, 1) Atkļūdošana. Drukāt J, Rezultāts GetNumericFirstThree = Rezultāta beigas, ja nākamā i beigu funkcija
Kad šis kods tiek izpildīts, tas tūlītējā logā parāda sekojošo.
Excel iebūvētās funkcijas vs. VBA lietotāja definēta funkcija
Excel iebūvēto funkciju izmantošanai ir maz priekšrocību salīdzinājumā ar pielāgotajām funkcijām, kas izveidotas VBA.
- Iebūvētās funkcijas ir daudz ātrāk nekā VBA funkcijas.
- Kad veidojat pārskatu/informācijas paneli, izmantojot VBA funkcijas, un nosūtāt to klientam/kolēģim, viņiem nebūtu jāuztraucas par to, vai makro ir iespējoti. Dažos gadījumos klienti/klienti nobīstas, dzeltenā joslā redzot brīdinājumu (kurā vienkārši tiek prasīts iespējot makro).
- Izmantojot iebūvētās Excel funkcijas, jums nav jāuztraucas par failu paplašinājumiem. Ja darbgrāmatā ir makro vai lietotāja definētas funkcijas, tā jāsaglabā .xlsm.
Lai gan ir daudz nopietnu iemeslu izmantot Excel iebūvētās funkcijas, dažos gadījumos labāk ir lietot lietotāja definētu funkciju.
- Labāk ir izmantot lietotāja definētu funkciju, ja jūsu iebūvētā formula ir milzīga un sarežģīta. Tas kļūst vēl aktuālāk, ja formulas jāatjaunina kādam citam. Piemēram, ja jums ir milzīga formula, kas sastāv no daudzām dažādām funkcijām, pat atsauces mainīšana uz šūnu var būt garlaicīga un pakļauta kļūdām. Tā vietā jūs varat izveidot pielāgotu funkciju, kurā tiek ņemts tikai viens vai divi argumenti un viss tiek smagi pacelts.
- Ja jums ir jādara kaut kas tāds, ko nevar izdarīt, izmantojot Excel iebūvētās funkcijas. Piemērs tam var būt, ja vēlaties virknē iegūt visas ciparu rakstzīmes. Šādos gadījumos ieguvums, izmantojot lietotāja definētu funkciju gar, atsver tā negatīvās puses.
Kur ievietot lietotāja definētas funkcijas VBA kodu
Veidojot pielāgotu funkciju, kods jāievieto tās darbgrāmatas koda logā, kurā vēlaties izmantot šo funkciju.
Tālāk ir norādītas darbības, lai darbgrāmatā ievietotu funkcijas “GetNumeric” kodu.
- Dodieties uz cilni Izstrādātājs.
- Noklikšķiniet uz opcijas Visual Basic. Tas atvērs VB redaktoru aizmugurē.
- VB redaktora Project Explorer rūtī ar peles labo pogu noklikšķiniet uz jebkura darbgrāmatas objekta, kurā vēlaties ievietot kodu. Ja neredzat Project Explorer, dodieties uz cilni Skats un noklikšķiniet uz Project Explorer.
- Dodieties uz Ievietot un noklikšķiniet uz moduļa. Tādējādi jūsu darbgrāmatai tiks ievietots moduļa objekts.
- Kopējiet un ielīmējiet kodu moduļa logā.
Jums varētu patikt arī šādas Excel VBA apmācības:
- Darbs ar šūnām un diapazoniem programmā Excel VBA.
- Darbs ar darblapām programmā Excel VBA.
- Darbs ar darbgrāmatām, izmantojot VBA.
- Kā lietot cilpas programmā Excel VBA.
- Excel VBA notikumi - vienkāršs (un pilnīgs) ceļvedis
- IF un citu paziņojumu izmantošana VBA.
- Kā ierakstīt makro programmā Excel.
- Kā palaist makro programmā Excel.
- Kā kārtot datus programmā Excel, izmantojot VBA (Soli pa solim).
- Excel VBA InStr funkcija - izskaidrota ar piemēriem.