VBA klases moduļi un to izmantošana

Anonim

Kas ir klase VBA?

Klase ir izveidojamā objekta plāns. Klase pati par sevi neko nedara, bet, izmantojot klases, jūs varat izveidot vairākus identiskus objektus, kas var veikt darbības vai kurus var izmantot kā datu resursu.

Reālajā dzīvē automašīnas modelis (dizains un funkcionalitāte) ir klase, un pati automašīna ir šīs klases objekts. Klasē mēs definējam, kas automašīnā ir un ko tā var darīt. Piemēram, automašīnai ir 4 riteņi, 5 pārnesumi, stūre utt. Tie ir atribūti/īpašības. Mēs arī definējam, ko automašīna var darīt, piemēram, virzīties uz priekšu, atpakaļ, pagriezties utt. Šīs ir automašīnu klases funkcijas. Automašīnas objektam, kas izveidots, izmantojot automašīnu klasi, būs visas šīs īpašības. Ja definējat automašīnu, kurai ir 5 riteņi, tad automašīnai, kas izveidota, izmantojot šo klasi, būs 5 riteņi. Jūs saprotat būtību.

Pietiek ar teoriju, tagad redzēsim, kā jūs varat izmantot klases moduli VBA.

Izmantojot Excel VBA klases moduli

Strādājot VBA, jums noteikti ir jāizmanto diapazons ("A1"). Izvēlieties. Diapazons ir iepriekš definēta klase VBA. Atlasīt ir viena no diapazona klases funkcijām, kas izvēlas norādīto diapazonu. Līdzīgi, atkļūdošana ir VBA klase, un drukāšana un apgalvošana ir tās metodes. Darblapas, darbgrāmatas, diapazons utt. Ir visas VBA klases, kuras mēs izmantojam savās apakšgrupās.

Izveidojiet savu klasi

Pirmkārt, mums jāpievieno klases modulis VBA

Nospiediet taustiņu kombināciju ALT+F11, lai atvērtu Excel VBA redaktoru.

    • Ar peles labo pogu noklikšķiniet uz projektu meklētāja. Pārvietojiet kursoru uz Ievietot-> klases modulis. Noklikšķiniet uz tā. To pašu var izdarīt, izmantojot izvēlni Ievietot.

    • Klase tiks pievienota mapei "Klases modulis". Noklusējuma nosaukums ir kā 1. klase, 2. klase utt. Klases nosaukumu varat mainīt rekvizītu logā. Nosauksim savu klasi "Laipni lūdzam".

  • Tagad izveidosim, lai mūsu klasei pievienotu dažus atribūtus. Tā kā es vēlos, lai šie atribūti būtu pieejami sabiedrībai, es to izmantoju pieejamības operators publiski.
    Publiskais nosaukums Kā virkne Publisks var1 Kā vesels skaitlis Publisks var2 kā vesels skaitlis 
  • Tagad šai klasei pievienosim funkciju. Es gribu funkciju, kas saka Hi! lietotājam. Lai to izdarītu, pievienojiet apakšnosaukumu un nosauciet to ar vārdu HiTo.
    Sub sayHiTo (lietotājs kā virkne) name = user MsgBox ("Hi!" & Name) End Sub 
  • Tagad izmantosim klasi modulī. Ievietojiet jaunu moduli, ja jums tāda nav. Uzrakstiet apakšpunktu. Esmu nosaucis savu apakšpārbaudi.
    Apakštests () Dim wc kā jauns sveiciens 'Deklarēts un inicializēts sveiciena objekts wc.sayHiTo ("Jack")' izmantoja sveiciena objekta metodi sayHiTo. Beigt apakš 
  • Palaidiet šo apakšpārbaudi, izmantojot taustiņu F5. Excel darbgrāmatā tiks parādīts uzraksts "Hi! Jack".

Kā tas darbojas?

Apakštestā mēs esam izveidojuši objektu "wc" Laipni lūdzam klase. Objekts tiek izveidots VBA divās metodēs. mēs izpildām kodu, Test sub izveido Welcome klases objektu wc. Šim objektam ir visas Welcome klases īpašības. Mēs izmantojam Welcome klases metodi sayHiTo, lai lietotājam pateiktu sveicienu.

Objekta izveide programmā Excel VBA

    1. Tūlītēja radīšana

Tūlītējā izveidē mēs izveidojam objektu, vienlaikus deklarējot objektu ar "jauno" atslēgu. Iepriekš minētajā piemērā mēs esam izmantojuši tūlītēju izveidi.

Dim wc kā jauns Laipni lūdzam

2. Aizkavēta radīšana
Aizkavētā radīšanā mēs vispirms deklarējam tikai objektu. Mēs neizmantojam atslēgvārdu "jauns". Lai izmantotu objektu, mums tas jāinicializē ar atslēgvārdu "jauns".

Apakštests () Dim wc kā sveiciens 'wc.sayHiTo ("Jack")' ģenerē kļūdu, jo wc vēl nav inicializēts 'objekta inicializēšana Set wc = New Welcome wc.sayHiTo ("Cory")' tas darbosies. Beigt apakš 

Piekļuve klases mainīgajiem

Iepriekš minētajos piemēros mēs klasē esam izmantojuši publiskos mainīgos, taču ir nepareizi praktizēt. Mums vajadzētu izvairīties no publisko mainīgo izmantošanas klasē. Tagad jautājums ir par to, kā mēs varētu piekļūt klases mainīgajiem. Agrāk mēs izmantojām apakšprogrammu, lai piekļūtu nosaukumam, bet VBA klases nodrošina rekvizītus, kas tiek izmantoti, lai sistemātiski atjauninātu un izgūtu klases privāto mainīgo vērtības. Rekvizīti ir elegantāki nekā apakšfunkcija vai funkcija privātu mainīgo atjaunināšanai un piekļuvei tiem. Redzēsim, kā.

Klases īpašuma sintakse

Privāts vārds kā virkne Privāts var1 Kā vesels skaitlis Privāts var2 kā vesels skaitlis Īpašums Ļaut Mans vārds (nm kā virkne) nosaukums = nm beigu īpašums Iegūt īpašumu MyName () Kā virkne MyName = nosaukums Beigu īpašums 

Izmantosim tos modulī.

Apakštests () 'klases objekta izveide Dim wc kā jauns sveiciens Dim wc1 kā jauns sveiciens', izmantojot rekvizītus wc.MyName = "Exceltip.com" wc1.MyName = "ExcelForum.com" Debug.Print wc.MyName Debug.Print wc1. MyName End Sub 

Palaižot šo testa apakšprogrammu, jūs saņemsiet divus nosaukumus, kas izdrukāti diviem "Welcome" klases objektiem.

Kā rekvizīti atšķiras no apakšpunktiem un funkcijām

Iepriekš minētajā piemērā ievērojiet, ka esam izmantojuši rekvizītu MyName kā mainīgo. Mēs inicializējām mainīgā "Nosaukums" vērtību, tikai rakstot wc.MyName = "assdf". Šī komandrinda sauca īpašumu ar nosaukumuĪpašums Iegūt manu vārdu () kā virkni. Mēs iekavās neizturējām nekādas vērtības, kā sākumā.

Līdzīgi, lai drukātu mainīgā "Name" vērtības, mēs izmantojām komanduAtkļūdot. Drukāt wc.MyName. Vai tas nav tik vienkārši kā parastā mainīgā inicializēšana? Vienīgā atšķirība ir tā, ka vietnē jūs varat darīt daudzīpašums segments. Jūs ievietojat datu validāciju, aprēķinus, saziņu utt., Un lietotājs redzēs tikai rezultātu.

Vēl viena atšķirība ir tā, ka mēs varam izmantot to pašu īpašuma nosaukumu ļaut un gūtdaļa. Tas padara to vieglāku un mazāk mulsinošu.

Jā, puiši, tas bija vienkāršs klases moduļa piemērs programmā Excel VBA. Šī ir tikai aisberga redzamā daļa, šajā tēmā ir daudz sulas, ko mēs izpētīsim vēlākos rakstos. Mēs izpētīsim katru no tiem pēc iespējas vienkāršākā veidā. Es ceru, ka es biju pietiekami izskaidrojošs, lai jūs to saprastu. Ja jums ir šaubas par šo tēmu vai kādu citu Excel VBA tēmu, miniet to komentāru sadaļā zemāk.

Importējiet moduli no faila, izmantojot Microsoft Excel VBA Uzziniet, kā importēt visu moduli no cita faila, izmantojot VBA.

Izveidojiet jaunu moduli, izmantojot VBA programmā Microsoft Excel | Varat izmantot moduli, lai izveidotu citu modeli VBA. Tas var palīdzēt samazināt papildu pieskaitāmos darbus.

Pievienojiet procedūru modulim, izmantojot VBA programmā Microsoft Excel | Lai moduļiem automātiski pievienotu procedūras, izmantojiet šo VBA kodu.

Populāri raksti:

50 Excel saīsnes, lai palielinātu produktivitāti | Ātrāk izpildiet savu uzdevumu. Šie 50 īsceļi ļaus jums strādāt vēl ātrāk programmā Excel.

Funkcija VLOOKUP programmā Excel | Šī ir viena no visbiežāk izmantotajām un populārākajām Excel funkcijām, kas tiek izmantota, lai meklētu vērtību no dažādiem diapazoniem un lapām.

COUNTIF programmā Excel 2016 | Saskaitiet vērtības ar nosacījumiem, izmantojot šo apbrīnojamo funkciju. Jums nav jāfiltrē dati, lai uzskaitītu konkrētu vērtību. Skaitītāja funkcija ir būtiska, lai sagatavotu informācijas paneli.

Kā lietot SUMIF funkciju programmā Excel | Šī ir vēl viena būtiska informācijas paneļa funkcija. Tas palīdz apkopot vērtības noteiktos apstākļos.