Kā izmantot struktūras VBA? Lietotāja definēti datu tipi

Satura rādītājs:

Anonim

Pieņemsim, ka jūs mēģināt izveidot skolas vadības sistēmu. Šeit jums būs dažāda veida mainīgie, piemēram, skolēna vārds, skolēna saraksts, klase utt. Skolai ir arī skolotāji, tāpēc būs skolotāju vārdi, skolotāja priekšmets, klases utt. Līdzīgi būs arī daudzi citi objekti, piemēram, , bibliotekārs, nodarbības, princips utt. Tagad dažādu mainīgo izmantošana katrai vienībai skolā būs netīrs darbs. Kā būtu izveidot tāda veida studentu, skolotāju, nodarbības utt., Kurā tiek saglabātas ar viņiem saistītās vērtības. Šim nolūkam mēs varam izmantot definētus VBA datu veidus.

Šajā rakstā mēs uzzināsim, kā jūs varat izveidot savu datu tipu VBA. Tos sauc par VBA UDT.

Lietotāja definēta datu veida definēšana

Lai definētu struktūru vai UDT VBA, mēs izmantojam Type___End Type bloku. Šeit ir UDT sintakse.

Ierakstiet Tname_Of_Data_Type var1 kā datu tipu 'datu tips var būt jebkas, int, masīvs vai pat UDT var2 kā datu tips Var3 () kā datu tips --- VarN () kā datu tips Beigu tips 

Tātad, lai VBA definētu pielāgotu datu tipu, mēs sākam ar tipa atslēgvārdu. Tad mēs uzrakstām mūsu pielāgotā datu tipa nosaukumu. Ir ierasts lietot T pirms datu tipa nosaukuma, lai varētu atšķirt vba kolekcijas un UDT.

Datu tipi var būt jebkas. Un vesels skaitlis, virkne, variants, vēl viens UDT, masīvi, kolekcijas, jebkas.

Lai programmā izmantotu savu UDT, deklarējiet tā mainīgo tāpat kā jebkuru citu mainīgo.

ApakšlietojumsUDT 'Lietotāja definēta datu tipa Dim myVar1 mainīgā mainīgais kā Tname_Of_Data_Type Dim myVar2 kā Tname_Of_Data_Type End Sub 

Vienkārši. Lai izmantotu mainīgos šajā UDT, mēs izmantojam punktu operatoru. Izmantojiet datu tipa nosaukumu, kam seko punkts un mainīgā nosaukums.

Sub UseUDT 'Lietotāja definēta datu tipa Dim myVar1 mainīgais mainīgais kā Tname_Of_Data_Type Dim myVar2 kā Tname_Of_Data_Type myVar1.var1 = "Abcd" myVar2.Var2 = "xyvz" End Sub 

Pietiek ar teoriju, pievērsīsimies piemēram, lai redzētu, kā tā darbojas.

Izveidojiet studentu mainīgo, kurā tiek glabāta ar studentu saistīta informācija

Tātad mums ir uzdevums izveidot lietotāja definētu datu tipu, kurā tiek glabāta ar studentiem saistīta informācija.

Skolēnam ir vārds, uzvārds, saraksta numurs, dzimšanas datums, klase, sadaļa, priekšmeti.

Tāpēc izveidosim to.

"Izveidots publisks studentu datu tips Publiskais tips Tstudent fName As String" Vārdam lName As String "Uzvārdam rNo kā vesels skaitlis" Roll Number clss kā string "Klases sadaļai kā virkne" Sadaļas nosaukuma priekšmetiem () Kā virkne " Studentu beigu tipa priekšmetiem 'Izmantojiet šo Tstudent tipu apakšprogrammā Sub StudentsInfo ()' Studenta tipa mainīgā izveide un inicializēšana Dim student1 Kā Tstudent student1.fName = "Manish" student1.lName = "Singh" student1.rNo = 12334 student1.clss = 10 students1.section = "A" ReDim students1.subjects (2) student1.subjects (0) = "fizika" students1.subjects (1) = "Matemātika" 'Drukāt skolēna datus. Debug.Print (student1.fName) Debug.Print (student1.lName) Debug.Print (student1.rNo) Debug.Print (student1.clss) Debug.Print (students1.section) Debug.Print (students1.subjects (0)) ) Atkļūdot. Drukāt (students1. Priekšmeti (1)) Beigu apakš 

Palaižot iepriekš minēto apakšnodaļu, rezultāts tiks izdrukāts, kā parādīts zemāk:

Manish

Singh

12334

10

A

fizika

Matemātika

UDT masīva izveide un piekļūšana elementiem

Līdzīgi jūs varat izveidot tik daudz Tstudent tipa mainīgo, cik jums nepieciešams. Jūs pat varat izveidot Tstudent tipa masīvu, tāpat kā jebkuru citu datu tipu.

Publiskais tips Tstudent fName Kā virkne "Vārdam lName Kā virkne" Uzvārdam rNo kā vesels skaitlis "Roll Number clss Kā virkne" Klases sadaļai kā virkne "Sadaļas nosaukuma priekšmetiem () Kā virkne" Studenta beigu tipa priekšmetiem " Masīvu izveide no Tstudents tipa Sub SchoolInfo () Dim schoolName As String Dim students () As Tstudent schoolName = "Senior School" ReDim skolēni (10) I = 0 līdz 9 skolēniem (i) .fName = "name" & Str ( i + 1) studenti (i). rNo = i + 1 Nākamais i Debug.Print ("Nosaukums: Roll No") Attiecībā uz i = 0 līdz 9 Debug.Print (students (i) .fName & ":" & students ( i) .rNo) Tālāk i Beigt apakš 

Palaižot šo kodu, tas tiks izdrukāts tūlītējā logā.

Nosaukums: ruļļa Nr

vārds 1: 1

vārds 2: 2

vārds 3: 3

vārds 4: 4

vārds 5: 5

vārds 6: 6

vārds 7: 7

vārds 8: 8

vārds 9: 9

vārds 10: 10

Iepriekš minētajā kodā vispirms definējiet UDT struktūru un apakšdaļu (vēlāk paskaidrošu, kāpēc). Mēs tikko izveidojām masīvu, izmantojot blāvu atslēgvārdu, kā mēs to darām jebkuram mainīgajam VBA.

Tad mēs izmantojām Redim, lai noteiktu masīvu lielumu. Pēc tam mēs izmantojam for for, lai inicializētu masīvu.

Lai piekļūtu struktūras elementiem, mēs izmantojam citu cilpai. Tas ir viss.

Kāpēc mēs paziņojām par UDT moduļa augšpusē?

Ja vispirms deklarējam UDT modulī, ārpus jebkuras apakšprogrammas vai funkcijas, tas ir pieejams visiem darbgrāmatas moduļiem. Tas nozīmē, ka, ja modulī ir simts apakšsadaļu un funkciju, tās visas var savā ķermenī deklarēt studenta tipa mainīgos.

Ja UDT nav privāts, tas būs pieejams visiem darbgrāmatas moduļiem. Ja vēlaties, lai struktūra (UDT) būtu pieejama tikai saturošam modulim, paziņojiet to par privātu.

Privāts tips Tstudent fName As String lName As String rNo Kā Vesels skaitlis clss Kā vesels skaitlis kā virknes subjekti () Kā virknes beigu veids 

Jūs nevarat izmantot UDT procesuālā līmenī. Tas nozīmē, ka apakšprogrammā vai funkcijā nevar definēt lietotāja definētu datu tipu.

Ligzdoti lietotāja definēti veidi

Pieņemsim, ka UDT sauc automašīnu. Automašīnai ir savi elementi. Līdzīgi jums ir UDT, ko sauc par velosipēdu, kam var būt savas īpašības.

Tagad pieņemsim, ka jums ir nepieciešams datu tips, ko sauc par transportlīdzekli. Transportlīdzekļa elementi var būt automašīna un velosipēds. Vai mēs to varam izdarīt? Jā, mēs varam to izdarīt. Skatiet zemāk esošo kodu

Privāta tipa Tcar sēdekļi kā vesels skaitlis ac Kā Būla tips Kā String krāsa Kā String ražotājs Kā String Dop As Date rc_no Kā String End Type Private Type Tbike sēdekļi Kā Integer typ As String color Kā String ražotājs Kā String Dop As Date rc_no Kā String End Type Private Tips Transportlīdzekļa numurs_of_Vehicle As Integer bike Kā Tbike car Kā Tcar End Type Sub vehicleVarification () Dim myVehicles As Tvehicle myVehicles.number_of_Vehicle = 2 myVehicles.bike.seats = 1 myVehicles.bike.typ = "Racing" myVehicles.car.seats = " "myVehicles.car.ac = Patiesa atkļūdošana. Izdrukāt manas automašīnas 

Šeit mēs esam definējuši trīs lietotāja definētus datu tipus. Pirmais ir Tcar, kas satur informāciju par automašīnām. Otrais ir velosipēds, tajā ir arī informācija par velosipēdu.

Trešais UDT ir Tvehicle. Tajā ir viens mainīgais, lai uzglabātu transportlīdzekļu skaitu, un divi Tcar un Tbike tipa mainīgie.

Privāta tipa transportlīdzeklis

transportlīdzekļa numurs_ vesels skaitlis

velosipēds Kā Tbike

automašīna Kā Tcar

Beigu veids

Lai piekļūtu Tcar un Tbike mainīgajiem, mēs varam izmantot Tvehicle datu tipu. Apakšdaļā mēs esam definējuši tikai vienu Tvehicle tipa mainīgo kā myVehicles. Kad mēs veidojam šo mainīgo, VBA izveido arī Tcar un Tbike mainīgos.

Lai inicializētu un piekļūtu Tcar un Tcar mainīgajiem, mēs varam izmantot mainīgo myVehicle. Kā redzat kodā.

myVehicles.number_of_Vehicle = 2

myVehicles.bike.seats = 1

myVehicles.bike.typ = "Sacīkstes"

myVehicles.car.seats = "4"

myVehicles.car.ac = Taisnība

Kad mēs palaižam apakšprogrammu, rodas šāds rezultāts.

Šī funkcija patiešām palielina VBA programmēšanas jaudu eksponenciāli. Jūs varat strukturēt savu datu tipu, piemēram, reālās pasaules entītijas. Jūs varat izveidot attiecības starp datu veidiem, kas var būt noderīgi lielā projektā.

Jā, puiši, šādi jūs varat izveidot un izmantot lietotāja definētu datu tipu vai struktūru VBA. Es ceru, ka man izdevās to izskaidrot. Ja jums ir kādi jautājumi par šo rakstu vai citi ar VBA saistīti jautājumi, jautājiet man komentāru sadaļā zemāk. Es tiešām priecāšos dzirdēt no jums.

VBA mainīgie programmā Excel| VBA apzīmē Visual Basic for Applications. Tā ir programmēšanas valoda no Microsoft. To izmanto ar Microsoft Office lietojumprogrammām, piemēram, MSExcel, MS-Word un MS-Access, turpretī VBA mainīgie ir specifiski atslēgvārdi.

Excel VBA mainīgā darbības joma| 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.

ByRef un ByVal argumenti | Kad arguments tiek nodots kā ByRef arguments citai apakšfunkcijai 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ēsiet lapas bez apstiprinājuma uzvednēm, izmantojot Microsoft Excel VBA | 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.

Pievienojiet un saglabājiet 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ādiet 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 saskaitītu noteiktas vērtības. 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.