Modul de clasă Excel VBA
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, ele 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.

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, cum ar fi marca, modelul, dimensiunea ecranului, tipul camerei și tipul încărcătorului. Acestea sunt în esență caracteristici importante pe această bază. Comparăm mai ales orice telefon mobil. Mai jos am mapat parametrii discutați mai sus într-un grafic.

În fereastra VBA din meniul Insert , selectați Class Module, așa cum se arată mai jos.

Vom primi fereastra modulului Class începând cu Option Explicit, așa cum se arată mai jos.

Opțiunea explicită asigură faptul 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 publicul . Acest lucru va face ca acești parametri definiți să fie folosiți oricând, oriunde, fără nicio limitare.
Cod:
Opțiune Lista explicită a proprietăților Marcă publică Ca șir Model public Ca Șir Dimensiune ecran public Ca Șir Cameră publică Tipul Ca Șir Încărcător public Tipul Ca șir

Acum vom adăuga un proces diferit de operare, funcții ș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:
„Tehnici posibile Sub MobileStarts () MsgBox„ Mobile se aprinde ”End Sub
Sub MobileOff () MsgBox "Mobile se dezactivează" Termină Sub
Sub PlayMusic () MsgBox "Sistemul audio funcționează în prezent" End Sub
Sub BatteryCharge () MsgBox "Încărcătorul este în prezent conectat" End Sub

Aceasta completează crearea clasei. Înainte de a merge mai departe, este recomandat să schimbați numele modulului de clasă. Alegeți orice nume conform cerințelor dvs., pe măsură ce îl schimbăm în Mobile .

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 primi 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 ca și 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, așa 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 Clasa creată fiecărei variabile dimensionale ale mărcii Mobile. Acum, pentru fiecare marcă, efectuați același proces de atribuire a clasei .
Acum trebuie să atribuim toate caracteristicile telefonului mobil și valoarea acestuia. Pentru aceasta, utilizați funcția Set și atribuiți-o unui nou telefon mobil, 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 operațiunile funcționale MobileStarts și MobileOff , pe care le-am definit în clasă fiecăreia 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.

Now, if you want to know what variables and functions have what kind of values in it, for that open the Local window from the view tab, which will help us getting the details when we compile the code as shown below.

The below code is for your Reference.
Code:
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
Pros
- We can build our own application with a lot of features.
- Once Class is created, we can update any feature, anytime whenever we require.
- If we update the code, then also it won’t cause any problem in other parts of the Class.
- We can test the individual part of the application as per our needs.
Cons
- Initially, it takes a lot of time to create a class in VBA.
- People who are new to VBA will find the class very difficult to apply.
Things to Remember
- As the code can be huge and big, so it’s better to compile the code step-by-step. By doing this, we would avoid the N number of errors, which will be difficult for us to debug and resolve.
- We can ignore the use of Message Box if you are taking and testing the above-written code.
- 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.