Excel VBA-klassenmodule
Met VBA Class kunnen we onze eigen Object-functie maken waarin we allerlei soorten functies, details van de opdrachtregel en type functie kunnen toevoegen. Wanneer we Class in VBA maken, gedragen ze zich als een volledig onafhankelijke objectfunctie, maar ze zijn allemaal met elkaar verbonden.
Dit helpt ons bij het bouwen van applicaties zoals die er al zijn in VBA en Excel. Zo draait het trapwieltje rond. Pedalen en wielen zijn beide de onderdelen van Cycle, maar beide werken onafhankelijk om de output als een bewegende cyclus te geven.

Hoe maak je aangepaste klassen en objecten in VBA?
Laten we eens kijken naar een voorbeeld van de mobiele telefoons van drie verschillende bedrijven, namelijk Apple, Samsung en Nokia, gezien de populaire en nieuw gelanceerde mobiele telefoons van deze bedrijven, namelijk iPhone X, Samsung S8 en Nokia 7+.
We zullen enkele van de belangrijke functies voor deze mobiele telefoons vergelijken, zoals merk, model, schermgrootte, cameratype en opladertype. Op basis daarvan zijn dit in wezen belangrijke kenmerken. We vergelijken meestal elke mobiele telefoon. Hieronder hebben we de hierboven besproken parameters in een grafiek in kaart gebracht.

Selecteer in het VBA-venster van het menu Invoegen de klassemodule, zoals hieronder weergegeven.

We krijgen het Class-modulevenster dat begint met Option Explicit, zoals hieronder wordt weergegeven.

Option Explicit zorgt ervoor dat variabelen moeten worden gedeclareerd voordat ze worden gebruikt. Als we geen enkele variabele declareren en gebruiken, zal het systeem een foutmelding geven. Definieer nu in de klas alle besproken meetparameters van mobiele telefoons met het publiek . Hierdoor kunnen die gedefinieerde parameters altijd, overal en zonder enige beperking worden gebruikt.
Code:
Optie Expliciet 'Eigenschappenlijst Public Brand As String Public Model As String Public ScreenSize As String Public CameraType As String Public ChargerType As String

Nu zullen we een ander proces van bediening, kenmerken en functies van een mobiele telefoon toevoegen, zoals een telefoon starten, de telefoon uitschakelen, muziek afspelen, de batterij opladen, enz. Met subcategorie voor elke functie, zoals hieronder weergegeven. En voeg een berichtvenster toe aan elke subcategorielus, zodat we kunnen zien welke methoden momenteel worden uitgevoerd.
Code:
'Mogelijke technieken Sub MobileStarts () MsgBox "Mobiel wordt ingeschakeld" Einde Sub
Sub MobileOff () MsgBox "Mobiel wordt uitgeschakeld" Sub beëindigen
Sub PlayMusic () MsgBox "Audiosysteem werkt momenteel" End Sub
Sub BatteryCharge () MsgBox "Lader is momenteel aangesloten" End Sub

Hiermee is de creatie van Class voltooid. Voordat we verder gaan, is het raadzaam om de naam van de Class Module te wijzigen. Kies een naam volgens uw vereisten, aangezien we deze wijzigen in Mobiel .

Nu zullen we een code schrijven in een module waarin we de kenmerken en functies van elk merk mobiele telefoon zullen zien en vergelijken. Hiervoor moeten we een module toevoegen door daar onder het menu Invoegen te gaan, zoals weergegeven.

We zullen een nieuwe module openen met Option Explicit hierin ingeschakeld terwijl we aan het werk zijn en een klasse maken. Begin nu met het schrijven van Subcategorie in de naam van uitgevoerde functies zoals hieronder weergegeven.

We kunnen de naam van de module wijzigen, net als voor Class. Dit helpt ons om de co-gerelateerde identiteit van de gemaakte VBA-code te behouden. Dit kan worden gedaan vanuit de eigenschappenvensters, zoals hieronder weergegeven.

We hebben al verschillende kenmerken, functies en methoden van alle mobiele telefoons van het merk gedefinieerd. Laten we nu 3 variabelen in elke naam definiëren (bij voorkeur in de naam van het merk van de mobiele telefoon) en deze toewijzen aan Mobiel. Laten we eerst met de iPhone beginnen, zoals hieronder wordt weergegeven.

Doe hetzelfde voor de rest van het merk mobiele telefoons, zoals hieronder wordt weergegeven.

Op deze manier wijzen we de gecreëerde Klasse toe aan elke dimensionale variabele van het merk Mobile. Voer nu voor elk merk hetzelfde proces uit om de Klasse toe te wijzen .
Nu moeten we alle functies van de mobiele telefoon en de waarde ervan toewijzen. Gebruik hiervoor de functie Set en wijs deze toe aan een nieuwe mobiele telefoon, zoals hieronder weergegeven.

Open nu de With-End-lus voor iPhone. Dit is waar we elk kenmerk van de mobiel zullen definiëren.

Zoals we kunnen zien, hebben we alle gedefinieerde functies van het iPhone-merk van Class toegewezen met specifieke waarden als String.
Doe hetzelfde voor het merk Samsung en Nokia.

Nu zullen we DebugPrint gebruiken om de informatie in het directe venster af te drukken. Het is handig als we een bepaalde variabele in een regel code willen zien. We zullen voor elk mobiel merk verschillende functies selecteren, zoals hieronder weergegeven.

Wijs nu de functionele bewerkingen MobileStarts en MobileOff , die we in Class hebben gedefinieerd, toe aan elk van de mobiele merken in dezelfde module, samen met het berichtvenster . U kunt het berichtvenster hier overslaan.

Hiermee is het toewijzen van Klasse aan Module voltooid. Compileer nu de code en voer deze uit met de F5-toets. We zien de boodschap van elk mobiel merk, zoals hieronder weergegeven.

Als u nu wilt weten welke variabelen en functies welke waarden bevatten, opent u daarvoor het Local-venster vanuit het tabblad View, wat ons zal helpen om de details te krijgen wanneer we de code compileren, zoals hieronder wordt weergegeven.

De onderstaande code is ter referentie.
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.
- Voor het testen kunt u minder technieken of functies gebruiken bij het maken van Class. Dit kan later worden gewijzigd als we meer productfuncties en technieken willen toevoegen.
- Houd altijd rekening met vergelijkbare of dezelfde functies wanneer we de klas afronden en deze aan een module toewijzen. Dit zal ons helpen bij het vergelijken van de kenmerken van verschillende producten.