Excel VBA mainīgā darbības joma

Satura rādītājs:

Anonim

Visās programmēšanas valodās mums ir mainīgas piekļuves specifikatori, kas nosaka, no kurienes var piekļūt definētajam mainīgajam. Excel VBA nav izņēmums. Arī VBA ir darbības jomas specifikatori. Šos darbības jomas specifikatorus var izmantot, lai programmā Excel VBA iestatītu mainīgā redzamību/apjomu.

Programmā Excel VBA mums ir trīs veidu darbības jomas norādītāji:

  1. Procedūras līmenis
  2. Privāts - moduļa līmenis
  3. Publisks - projekta līmenis

VBA procedūras līmeņa mainīgais apjoms

Mainīgajiem, kas ir deklarēti apakšprogrammā, var piekļūt tikai šajā procedūrā/funkcijā. Viņiem ir procedūras līmeņa darbības joma. Tos parasti deklarē ar Dim atslēgvārdu. Ja modulis ir opcija netieši, tad mainīgais, iespējams, nav deklarēts, tikai izmantots tieši.

Tālāk sniegtajā piemērā mums ir apakšprogrammas tvēruma tests, kuram ir mainīgie x un y. Kad mēs izpildām pirmo apakšprogrammu, tā darbojas nevainojami un izdrukā X un Y summu

Opcija Skaidrs apakšmērījumsTests () Dim x, y Kā vesels skaitlis 'Procedūras līmeņa mainīgais VBA x = 2 y = 3 atkļūdošana. Drukāt x + y Beigu apakšsummas summa () x = 5 y = 7 atkļūdošana. Drukāt x + y Beigu apakšdaļa

Bet, palaižot apakšprogrammas summu, tiek parādīta kļūda, ka mainīgais nav deklarēts. Kāpēc? Tā kā X un Y ir privāti procedūras tvērumam, testam un apakšprogrammas summai tiem nav piekļuves. Tādējādi apakšsadaļā rodas kļūda.

VBA privātais mainīgais- moduļa līmeņa darbības joma

Ja vēlaties deklarēt mainīgo, kuram jāpiekļūst visā modulī, tad pirms jebkura apakšprogrammas vai funkcijas šī mainīgā tiek deklarēta kā privāta.

Mainīgie, kas deklarēti pirms jebkuras apakšprogrammas modulī, pēc noklusējuma ir privāti. Pat ja jūs tos deklarējat ar Dim atslēgvārdu. Bet, lai būtu konkrēts, ir prātīgi izmantot atslēgvārdu Privāts.

Tālāk minētās divas procedūras ir vienā modulī, 1. modulī.

Opcija Skaidrs moduļa līmeņa mainīgais VBA. Abi mainīgie x un y šim modulim ir privāti. un 'var piekļūt no jebkura šī moduļa apakšdaļas vai funkcijas. Izmērs x kā vesels skaitlis Privāts un kā vesels skaitlis ApjomsTest () 'Tam var piekļūt no jebkura projekta moduļa x = 2 y = 3 Atkļūdošana. Drukāt x + y Beigt apakšdaļu Privāta apakšsumma () "Tam nevar piekļūt no citiem moduļiem x = 5 y = 7 atkļūdošana. Drukāt x + y Beigt apakšdaļu 

Iepriekš minētās divas funkcijas darbosies nevainojami, jo mainīgais x un y ir šī moduļa privātie mainīgie.

Svarīgs: Pēdējās x un y saglabātās vērtības tiek saglabātas līdz pilnam modulim. Ja mēs vispirms palaižam apakšmērījumu testu un neinicializējam x un y vērtības apakšsummā un palaižam to, tad x un y sākotnējā vērtība nemainīsies.

Zemāk esošā apakšprogramma ir definēta atsevišķā modulī, 2. modulī. Mēģinot piekļūt mainīgajam no cita moduļa, VBA procedūrā (vai funkcijā) rodas kļūda.

Bet, ja es mēģinu izsaukt apakšprogrammu summa no 1. moduļa 2. modulī tas darbojas perfekti. Lai padarītu savu funkciju un apakšprogrammas privātas modulim, pirms apakšfunkcijas un funkcijas izmantojiet atslēgvārdu Privāts.

Piezīme:- Mainīgie, kas deklarēti pirms jebkuras moduļa apakšprogrammas vai funkcijas, pēc noklusējuma ir moduļa privāti. Jūs varat izmantot Privātsatslēgvārds. Bet funkcijas un apakšprogrammas pēc noklusējuma ir publiskas, un tām var piekļūt jebkurš projekta modulis. Lai funkcijas un apakšprogrammas padarītu privātas modulim, jāizmanto atslēgvārds Privāts.

Publiskie mainīgie- projekta līmeņa darbības joma

Kā mēs uzzinājām iepriekš minētajos piemēros, funkcija un apakšprogrammas pēc noklusējuma ir publiskas un tām var piekļūt no jebkura moduļa, bet mainīgie nav. Lai mainīgais būtu pieejams no jebkura Excel VBA moduļa,mēs izmantojam publisko atslēgvārdu.

Lai projektā deklarētu publisku mainīgo, esat to deklarējis moduļa augšpusē, pirms jebkuras funkcijas vai apakšprogrammas ar publisko atslēgvārdu. Tālāk esošais kods ir uzrakstīts 1. modulī.

Opcija Skaidrs 'Projekta līmeņa mainīgais VBA. Publisks x kā vesels skaitlis Publisks y kā vesels skaitlis Publiskā apakšjomaTests () 'Tam var piekļūt no jebkura projekta moduļa x = 2 y = 3 End Sub Private Sub sum ()' Tam nevar piekļūt no citiem moduļiem x = 5 y = 7 Atkļūdošana. Drukāt x + y Beigt apakš

Un šī apakšprogramma ir citā modulī, 2. modulī.

Opcija Explicit Sub mul () Zvana tvērums Pārbaudiet 'Zvanu summu', tas nedarbosies, jo tas ir privāts 1. modulim. Atkļūdošana. Drukāt x * y Beigu apakšdaļa 

Šoreiz tas darbojas nevainojami.
Vispirms esmu izsaucis apakšprogrammas tvērumu. Tā kā skalas tests ir publisks, to sauc. Tas inicializē x un y vērtības. Tālāk mēs reizinām x un y. Tā kā apakšprogramma rangeTest to bija inicializējusi ar 2. un 3. vērtību, rezultāts ir 6.

Tātad, jā, puiši, šādā veidā varat izmantot Excel mainīgo darbības jomu, lai kontrolētu mainīgo, funkciju un apakšprogrammu redzamību Excel VBA projektos.

Es mēģināju visvienkāršākajā veidā izskaidrot VBA piekļuves specifikatorus. Es ceru, ka tas bija izskaidrojošs. Ja jums ir šaubas par šo rakstu vai citas ar VBA saistītas šaubas, jautājiet man komentāru sadaļā zemāk. Es priecāšos šeit no jums.

ByRef un ByVal argumenti | Ja arguments tiek nodots kā ByRef arguments citai apakšgrupai vai funkcijai, tiek nosūtīta faktiskā mainīgā atsauce. Visas izmaiņas, kas veiktas mainīgā kopijā, tiks atspoguļotas sākotnējā argumentā.

Izdzēst lapas bez apstiprinājuma uzvednēm, izmantojot VBA programmā Microsoft Excel | Tā kā jūs dzēšat lapas, izmantojot VBA, jūs zināt, ko darāt. Jūs vēlaties pateikt programmai Excel nerādīt šo brīdinājumu un izdzēst sasodīto lapu.

Pievienot un saglabāt jaunu darbgrāmatu, izmantojot VBA programmā Microsoft Excel 2016 | Šajā kodā mēs vispirms izveidojām atsauci uz darbgrāmatas objektu. Un tad mēs to inicializējām ar jaunu darbgrāmatas objektu. Šīs pieejas priekšrocība ir tā, ka jūs varat viegli veikt darbības ar šo jauno darbgrāmatu. Piemēram, saglabāšana, aizvēršana, dzēšana utt

Parādīt ziņojumu Excel VBA statusa joslā Excel statusa joslu var izmantot kā koda monitoru. Ja jūsu VBA kods ir garš un veicat vairākus uzdevumus, izmantojot VBA, jūs bieži atspējojat ekrāna atjaunināšanu, lai neredzētu ekrāna mirgošanu

Izslēdziet brīdinājuma ziņojumus, izmantojot VBA programmā Microsoft Excel 2016 | Šis kods ne tikai atspējo VBA brīdinājumus, bet arī palielina koda laika efektivitāti. Redzēsim, kā.

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 noteiktu 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.