Excel VBA Class Module

Class-module in VBA kan worden gedefinieerd als de module die helpt om uw eigen objecten te maken met uw eigen eigenschappen en methoden zoals werkbladen en bereikdoelen van excel.

In eenvoudige termen met de help VBA-klassemodule kunnen we objecten met eigen eigenschappen maken. Voordat u een klassenmodule en de bijbehorende objecten in VBA gaat maken, is het raadzaam om het concept van klasse en object te begrijpen. Overweeg een voorbeeld uit de praktijk om te begrijpen wat een klasse is en wat een object en zijn relatie.

Als we bijvoorbeeld een bouwplan of blauwdruk van een gebouw nemen, kunnen we met behulp van een bouwplan niet alleen een gebouw bouwen, maar we kunnen hetzelfde plan gebruiken en meerdere gebouwen op verschillende plaatsen bouwen. Ze kunnen variëren in de grootte van de kamers of de hoogte van het dak enz. Maar de werkelijke eigenschappen van het gebouw blijven hetzelfde als er een kelder, deuren, pilaren, plafond, enz.

Evenzo, als u een auto-blauwdruk of -model neemt, kunnen we er meerdere duplicaten van maken. Een auto heeft eigenschappen zoals een aantal wielen, kleur, vermogen, enz. Sommige eigenschappen kunnen van auto tot auto verschillen, maar de hoofdconfiguratie blijft hetzelfde.

Om het duidelijker te maken, kunnen we definiëren als:

  • Klasse: het is een blauwdruk van iets dat helpt om een ​​object te maken.
  • Object: feitelijk bestaan ​​van een ding.

Hoe een klassenmodule in Excel VBA in te voegen?

Hieronder staan ​​de verschillende voorbeelden om een ​​klassenmodule in te voegen in Excel met behulp van VBA-code.

U kunt deze VBA Class Module Excel Template hier downloaden - VBA Class Module Excel Template

Excel VBA Class Module - Voorbeeld # 1

Hieronder staan ​​de verschillende stappen om de klassemodule met behulp van VBA-code in Excel in te voegen.

Stap 1: Ga naar het menu “ Developer ” bovenaan en klik op Visual Basic aan de linkerkant.

Stap 2: Om een ​​klassemodule te maken, moeten we een klassemodule in VBA invoegen. Klik op de vervolgkeuzelijst Invoegen bovenaan. Kies daaruit een Class Module .

Nu wordt een klassenmodule aan de linkerkant in VBA ingevoegd, zoals weergegeven in de onderstaande schermafbeelding.

Zoals eerder besproken is een klassemodule een blauwdruk waarmee we objecten maken. We moeten dus een paar variabelen en methoden definiëren die voor alle objecten toegankelijk zijn.

Stap 3: Wijzig de naam van de klassenmodule volgens uw vereiste, hier heb ik de blauwdruk gewijzigd

Stap 4: Nu moeten we de variabelen en methoden definiëren.

Code:

 Optie Expliciet Openbaar toevoegen als geheel getal Openbaar pro als geheel getal Openbaar x Als geheel getal Openbaar y Als geheel getal 

Zoals te zien in de bovenstaande screenshot begin je eerst met de expliciete optie. Waarom een ​​optie expliciet? Het zal een fout veroorzaken als we een variabele in het programma gebruiken die niet is gedefinieerd, dus moeten we alle variabelen expliciet definiëren. Hier definiëren we vier variabelen add, pro, x en y. Alle variabelen zijn gedefinieerd als publiek omdat dan alleen deze variabelen toegankelijk zijn voor andere modules.

Stap 5: Tot nu toe hebben we variabelen gedefinieerd die nu methoden of functies moeten definiëren.

Code:

 Optie Expliciet Openbaar toevoegen als geheel getal Openbaar pro als geheel getal Openbaar x Als geheel getal Openbaar y Als geheel getal Subsom () add = x + y MsgBox (toevoegen) Einde Sub 

Ik definieerde een eenvoudige methode sum (), u kunt complexe subprogramma's per eis definiëren. In de submethode sum () hebben we gedefinieerd hoe de optelbewerking moet worden uitgevoerd en waar die waarde moet worden opgeslagen en vervolgens het resultaat in een berichtvenster moet worden weergegeven.

Stap 6: Er is een klassenmodule gemaakt. Het is tijd om een ​​normale module te maken om de klassenblauwdruk te gebruiken. Plaats daarom een ​​module op dezelfde manier als we een klassemodule hebben ingevoegd.

Stap 7: Standaard is de modulenaam module1 die we kunnen wijzigen als we dat willen. Schrijf de code in module1.

Code:

 Sub-wiskunde () Dim obj Als nieuw Blauwdruk obj.x = 5 obj.y = 6 obj.sum End Sub 

Hier schrijven we een subprogramma wiskunde (). Daarin hebben we een object met de naam obj gemaakt dat hetzelfde is als een klassenblauwdruk. Dat is de reden waarom we zo hebben gedefinieerd "obj als nieuwe blauwdruk", wat duplicatie van blauwdruk betekent en de naam is obj.

In dit programma hebben we x en y niet gedefinieerd, maar de waarden direct aan x en y toegewezen omdat deze al in een klassemodule zijn gedefinieerd en het obj een duplicaat hiervan is. Daarom zal het die variabelen hebben, maar om ze aan te roepen moeten we een object.variable naam gebruiken.

Obj.x = 5 gemiddelde, waarde 5 wordt opgeslagen in x variabele.

Obj.y = 6 gemiddelde waarde 6 wordt opgeslagen in variabele y.

Roep nu de methoden op die in de klassemodule zijn gedefinieerd met behulp van objectnaam obj.

Obj.sum () voert de optelbewerking uit zoals gedefinieerd in de klassemodule. In de klassemodule hebben we gedefinieerd als x + y en een object, we hebben de waarden voor x en y gedefinieerd, dus het zal de waarden aannemen en de berekening uitvoeren en het resultaat opslaan in optellen van het type integer. In de laatste stap wordt het resultaat in het berichtvenster weergegeven.

Stap 8: Start module1 door op F5 te drukken of door op Play te klikken.

Stap 9: Selecteer de macronaam en klik op de optie Uitvoeren .

Resultaten worden weergegeven zoals hieronder.

Excel VBA Class Module - Voorbeeld # 2

Volg de onderstaande stappen:

Stap 1: Voeg nu een andere methode toe met de naam "mul" om de vermenigvuldiging uit te voeren. Het resultaat moet worden opgeslagen in de cellen (5, 5) van blad1.

Code:

 Sub mul () pro = x * y Sheet1.Cells (5, 5) = pro End Sub 

In de bovenstaande methode mul () hebben we x en y vermenigvuldigd en het resultaat is opgeslagen in "pro", wat een geheel gegevenstype is.

Stap 2: Ga nu naar module1 en noem deze mul-methode met het object obj zoals hieronder.

Code:

 Sub math1 () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.mul End Sub 

Stap 3: Druk op F5 Key om de module uit te voeren. Ga naar blad 1 en controleer of het resultaat wordt weergegeven zoals hieronder.

In het vorige voorbeeld hebben we resultaten weergegeven in het berichtvenster, maar in de tweede methode hebben we Excel weergegeven. Dus als we de variabelen en methoden in de klassemodule declareren, kunnen we het in andere modules gebruiken met behulp van een object zonder de code te herhalen. Ik hoop dat je hebt begrepen hoe je de klassemodule in Excel VBA kunt invoegen en hoe je er een object voor kunt maken.

Dingen om te onthouden

  • Het is altijd raadzaam om de optie expliciet te gebruiken tijdens het voorbereiden van een klassemodule omdat er een typefout kan zijn tijdens het gebruik van variabelen in VBA.
  • Als we geen bladnummer vermelden voor het weergeven van resultaten, wordt het actieve blad automatisch gekozen.
  • Gebruik Openbaar trefwoord bij het initiëren van de variabelen zodat de variabelen toegang hebben tot andere modules.
  • U kunt de variabelen of methoden alleen aanroepen nadat u het object hebt gemaakt. maak daarom een ​​object voor klasse en roep vervolgens de variabelen en methoden op.

Aanbevolen artikelen

Dit is een handleiding voor VBA Class Module. Hier bespreken we hoe u Class Module in Excel kunt invoegen met behulp van VBA-code, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA Zoeken en vervangen
  2. Excel Som op kleur
  3. VBA-controlebestand bestaat
  4. Excel Draaitabel verwijderen
  5. VBA-code | Voorbeelden

Categorie: