Modul de clasă VBA Excel
VBA Class ne permite să creăm propria noastră funcție Object în care putem adăuga orice fel de caracteristici, detalii ale liniei de comandă, tipul de funcție. Când creăm Class în VBA, acestea acționează ca o funcție de obiect independentă, dar toate sunt conectate împreună.
Acest lucru ne ajută să construim aplicații precum cele care există deja în VBA și Excel. De exemplu, roata ciclului de pedalare se rotește. Pedalele și roțile sunt ambele părți ale ciclului, dar ambele funcționează independent pentru a da ieșirea ca un ciclu în mișcare.
Sunteți liber să utilizați această imagine pe site-ul dvs. web, șabloane etc., Vă rugăm să ne furnizați un link de atribuireCum să oferiți atribuire?Link către articol de către hyperlink
De exemplu:
Sursa: Clasa VBA (wallstreetmojo.com)
Cum se creează clase și obiecte personalizate în VBA?
Să luăm în considerare un exemplu de telefoane mobile cu 3 companii diferite, care sunt Apple, Samsung și Nokia – având în vedere telefoanele mobile populare și recent lansate ale acestor companii, care sunt iPhone X, Samsung S8 și Nokia 7+.
Vom compara unele dintre caracteristicile importante pentru aceste telefoane mobile, precum marca, modelul, dimensiunea ecranului, tipul camerei și tipul încărcătorului. Acestea sunt în esență caracteristici importante pe această bază. Comparăm în principal orice telefon mobil. Mai jos am mapat parametrii discutați mai sus într-un grafic.
În fereastra VBA din Introduce selectați meniul Modul de clasă, așa cum se arată mai jos.
Vom primi fereastra modulului Class începând cu Opțiune explicită, așa cum se arată mai jos.
Opțiune explicită asigură că variabilele trebuie declarate înainte de a fi utilizate. Dacă nu declarăm nicio variabilă și nu o folosim, atunci sistemul va genera o eroare. Acum, în clasă, definiți toți parametrii de măsurare ai telefoanelor mobile discutate cu Public. Acest lucru va face ca acești parametri definiți să fie folosiți oricând, oriunde, fără nicio limitare.
Cod:
Option Explicit 'List of properties Public Brand As String Public Model As String Public ScreenSize As String Public CameraType As String Public ChargerType As String
Acum vom adăuga un proces diferit de operare, caracteristici și funcții ale unui telefon mobil, cum ar fi pornirea unui telefon, oprirea telefonului, redarea muzicii, încărcarea bateriei etc. cu subcategorie pentru fiecare funcție, așa cum se arată mai jos. Și adăugați o casetă de mesaj în fiecare buclă de subcategorie, astfel încât să putem vedea ce metode rulează în prezent.
Cod:
'Possible Techniques Sub MobileStarts() MsgBox "Mobile is Turning On" End Sub
Sub MobileOff() MsgBox "Mobile is Turning Off" End Sub
Sub PlayMusic() MsgBox "Audio system is currently working" End Sub
Sub BatteryCharge() MsgBox "Charger is currently plugged-in" End Sub
Aceasta completează crearea clasei. Înainte de a trece mai departe, este recomandat să schimbați numele modulului de clasă. Alegeți orice nume conform cerinței dvs. pe măsură ce îl schimbăm în Mobil.
Acum vom scrie un cod într-un modul în care vom vedea și vom compara caracteristicile și funcțiile fiecărei mărci de telefoane mobile. Pentru aceasta, trebuie să adăugăm un Modul mergând acolo sub meniul Insert așa cum se arată în meniu.
Vom obține un nou modul deschis cu opțiunea Option Explicit activată în acest timp, deoarece lucrăm și creăm o clasă. Acum începeți să scrieți subcategoria în numele funcțiilor efectuate așa cum se arată mai jos.
Putem schimba numele modulului la fel cum am făcut pentru Class. Acest lucru ne ajută să păstrăm identitatea corelată a codului VBA creat. Acest lucru se poate face din ferestrele de proprietăți, după cum se arată mai jos.
Am definit deja diverse caracteristici, funcții și metode ale tuturor telefoanelor mobile de marcă. Acum să definim 3 variabile în orice nume (de preferință în numele mărcii de telefon mobil) și să le atribuim dispozitivului mobil. Să începem mai întâi cu iPhone, așa cum se arată mai jos.
În mod similar, faceți același lucru pentru restul mărcii de telefoane mobile, așa cum se arată mai jos.
Prin aceasta, atribuim creatul Clasă la fiecare variabilă dimensională a mărcii Mobile. Acum, pentru fiecare marcă, efectuați același proces de atribuire a Clasă.
Acum trebuie să atribuim toate caracteristicile telefonului mobil și valoarea acestuia. Pentru aceasta, utilizați A stabilit funcția și atribuie-o la un Mobil nou, așa cum se arată mai jos.
Acum deschideți bucla With-End pentru iPhone. Aici vom defini fiecare atribut al telefonului mobil.
După cum putem vedea, am atribuit toate caracteristicile definite ale mărcii iPhone de la Class cu valori specifice ca Șir.
Faceți același lucru și pentru marca Samsung și Nokia.
Acum vom folosi DebugPrint pentru a imprima informațiile din fereastra imediată. Este util acolo unde vrem să vedem o anumită variabilă într-o linie de cod. Vom selecta diferite funcții pentru fiecare marcă de mobil, așa cum se arată mai jos.
Acum atribuiți MobileStarts și MobileOff operațiuni funcționale, pe care le-am definit în clasă pentru fiecare dintre mărcile de telefonie mobilă din același modul, împreună cu caseta Mesaj. Puteți sări peste caseta de mesaje aici.
Aceasta finalizează atribuirea clasei la modul. Acum compilați codul și rulați folosind tasta F5. Vom vedea mesajul fiecărei mărci mobile, așa cum se arată mai jos.
Acum, dacă doriți să știți ce variabile și funcții au ce fel de valori, deschideți fișierul Fereastră locală din fila vizualizare, ceea ce ne va ajuta să obținem detaliile atunci când compilăm codul așa cum se arată mai jos.
Codul de mai jos este pentru referință.
Cod:
Sub VBA_Class() Dim iPhone As Mobile Dim Samsung As Mobile Dim Nokia As Mobile Set iPhone = New Mobile With iPhone .Brand = "iPhone" .Model = "iPhone X" .ScreenSize = "6.5 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Regular" End With Set Samsung = New Mobile With Samsung .Brand = "Samsung" .Model = "Samsung S8" .ScreenSize = "5.8 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Set Nokia = New Mobile With Nokia .Brand = "Nokia" .Model = "Nokia 7+" .ScreenSize = "6 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Debug.Print "Phone Screen Size is: " & iPhone.ScreenSize Debug.Print "Camera of Samsung is: " & Samsung.CameraType Debug.Print "Charger Type is: " & Nokia.ChargerType iPhone.MobileStarts iPhone.MobileOff MsgBox iPhone.Model Samsung.MobileStarts Samsung.MobileOff MsgBox Samsung.Model Nokia.MobileStarts Nokia.MobileOff MsgBox Nokia.Model End Sub
Pro
- Ne putem construi propria aplicație cu o mulțime de caracteristici.
- După crearea clasei, putem actualiza orice funcție, oricând, ori de câte ori avem nevoie.
- Dacă actualizăm codul, atunci acesta nu va cauza nici o problemă în alte părți ale clasei.
- Putem testa partea individuală a aplicației conform nevoilor noastre.
Contra
- Inițial, este nevoie de mult timp pentru a crea o clasă în VBA.
- Persoanelor care sunt noi în VBA le va fi dificil de aplicat cursul.
Lucruri de amintit
- Deoarece codul poate fi uriaș și mare, este mai bine să compilați codul pas cu pas. Făcând acest lucru, am evita numărul N de erori, pe care ne va fi dificil să le depanăm și să le rezolvăm.
- Putem ignora utilizarea casetei de mesaje dacă luați și testați codul scris mai sus.
- Pentru testare, puteți utiliza tehnici sau funcții mai mici în crearea clasei. Acest lucru poate fi modificat ulterior atunci când dorim să adăugăm mai multe funcții și tehnici ale produsului.
- Luați întotdeauna în considerare caracteristici similare sau aceleași atunci când terminăm clasa și o atribuiți unui modul. Acest lucru ne va ajuta să comparăm caracteristicile diferitelor produse.
Articole recomandate
Acesta a fost un ghid pentru clasa VBA. Aici vom discuta despre cum să creați clase și obiecte VBA personalizate, împreună cu exemple și un șablon excel descărcabil. Mai jos sunt câteva articole utile legate de Excel VBA
- Redimensionare VBA
- Utilizați DateSerial în VBA
- Numit Range în VBA
- Cuvânt cheie ME în Excel VBA
- Funcția VBA VARTYPE
- 35+ Cursuri
- 120+ ore
- Acces complet pe viață
- Certificat de finalizare
AFLAȚI MAI MULTE >>