Excel VBA klassemodul
VBA-klasse giver os mulighed for at oprette vores egen objektfunktion, hvor vi kan tilføje enhver form for funktioner, detaljer om kommandolinjen, funktionstype. Når vi opretter klasse i VBA, fungerer de som en fuldstændig uafhængig objektfunktion, men de er alle forbundet sammen.
Dette hjælper os med at opbygge applikationer, som allerede findes i VBA og Excel. For eksempel drejer pedalcyklushjulet. Pedaler og hjul er begge dele af cyklus, men begge arbejder uafhængigt for at give output som en bevægelig cyklus.

Hvordan oprettes brugerdefinerede klasse og objekter i VBA?
Lad os overveje et eksempel på 3 forskellige virksomheders mobiltelefoner, som er Apple, Samsung og Nokia i betragtning af de populære og nyligt lancerede mobiltelefoner fra disse virksomheder, som er iPhone X, Samsung S8 og Nokia 7+.
Vi sammenligner nogle af de vigtige funktioner for disse mobiltelefoner, såsom mærke, model, skærmstørrelse, kameratype og opladertype. Disse er grundlæggende vigtige funktioner på det grundlag. Vi sammenligner for det meste enhver mobiltelefon. Nedenfor har vi kortlagt de ovenfor diskuterede parametre i et diagram.

I VBA-vinduet fra menuen Indsæt skal du vælge klassemodulet som vist nedenfor.

Vi får klassemodulvinduet, der starter med Option Explicit, som vist nedenfor.

Option Explicit sikrer, at variabler skal deklareres, før de bruges. Hvis vi ikke erklærer nogen variabel og bruger den, kaster systemet en fejl. Nu i klasse skal du definere alle de diskuterede parametre for måling af mobiltelefoner med offentligheden . Dette gør de definerede parametre åbne for brug når som helst og hvor som helst uden nogen begrænsninger.
Kode:
Mulighed Eksplicit 'Liste over egenskaber Offentlig mærke som streng Offentlig model som streng Offentlig skærm Størrelse som streng Offentlig kamera Type som streng Offentlig oplader Type som streng

Nu vil vi tilføje en anden proces til betjening, funktioner og funktioner på en mobiltelefon, såsom at starte en telefon, slukke for telefonen, afspille musik, oplade batteriet osv. Med underkategori for hver funktion som vist nedenfor. Og tilføj et meddelelsesfelt i hver underkategorisløjfe, så vi kan se, hvilke metoder der kører i øjeblikket.
Kode:
'Mulige teknikker Sub MobileStarts () MsgBox "Mobile tændes" End Sub
Sub MobileOff () MsgBox "Mobile slukker" End Sub
Sub PlayMusic () MsgBox "Audio-system fungerer i øjeblikket" End Sub
Sub BatteryCharge () MsgBox "Oplader er i øjeblikket tilsluttet" End Sub

Dette fuldender oprettelsen af klasse. Før vi går videre, tilrådes det at ændre navnet på klassemodulet. Vælg ethvert navn i henhold til dit krav, da vi ændrer det til mobil .

Nu skriver vi en kode i et modul, hvor vi vil se og sammenligne funktionerne og funktionerne i hvert mobiltelefonmærke. Til dette er vi nødt til at tilføje et modul ved at gå der under menuen Indsæt som vist menu.

Vi får et nyt modul åbnet med Option Explicit aktiveret i dette, da vi arbejder og opretter en klasse. Begynd nu at skrive underkategori i navnet på de udførte funktioner som vist nedenfor.

Vi kan ændre navnet på modulet, ligesom vi gjorde for klasse. Dette hjælper os med at holde den co-relaterede identitet af den oprettede VBA-kode. Dette kan gøres fra egenskabsvinduer, som vist nedenfor.

Vi har allerede defineret forskellige funktioner, funktioner og metoder til alle mærketelefoner. Lad os nu definere 3 variabler i ethvert navn (fortrinsvis i navnet på mobiltelefonmærket) og tildele det til Mobile. Lad os starte med iPhone først som vist nedenfor.

Gør det samme for resten af mobiltelefonmærket som vist nedenfor.

Ved dette tildeler vi den oprettede klasse til hver dimensionelle variabel af mobilmærket. For hvert brand skal du nu udføre den samme proces med at tildele klassen .
Nu er vi nødt til at tildele alle funktionerne i mobiltelefonen og dens værdi. Til dette skal du bruge funktionen Set og tildele den til en ny mobil som vist nedenfor.

Åbn nu With-End loop til iPhone. Det er her, vi definerer hver attribut for mobilen.

Som vi kan se, har vi tildelt alle de definerede funktioner i iPhone-mærket fra Class med specifikke værdier som String.
Gør det samme for Samsung og Nokia-mærket også.

Nu bruger vi DebugPrint til at udskrive oplysningerne i det øjeblikkelige vindue. Det er nyttigt, hvor vi vil se en bestemt variabel i en kodelinje. Vi vælger forskellige funktioner for hvert mobilmærke som vist nedenfor.

Tildel nu funktionerne MobileStarts og MobileOff , som vi definerede i klasse, til hvert af de mobile mærker i det samme modul sammen med meddelelsesboksen. Du kan springe beskedfeltet over her.

Dette afslutter tildelingen af klasse til modul. Kompilér nu koden, og kør ved hjælp af F5-tasten. Vi vil se meddelelsen fra hvert mobilmærke som vist nedenfor.

Nu, hvis du vil vide, hvilke variabler og funktioner der har, hvilken type værdier deri, åbner du det lokale vindue fra visningsfanen, hvilket hjælper os med at få detaljerne, når vi kompilerer koden som vist nedenfor.

Nedenstående kode er til din reference.
Kode:
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.
- Til test kan du bruge mindre teknikker eller funktioner til at oprette klasse. Dette kan ændres senere, når vi vil tilføje flere produktfunktioner og teknikker.
- Overvej altid lignende eller samme funktioner, når vi afslutter klasse og tildeler det til et modul. Dette hjælper os med at sammenligne funktionerne i forskellige produkter.