Excel VBA modul třídy

Modul třídy ve VBA lze definovat jako modul, který pomáhá vytvářet vlastní objekty s vlastními vlastnostmi a metodami, jako jsou pracovní listy a rozsahové cíle Excelu.

Jednoduše řečeno pomocí modulu třídy VBA můžeme vytvářet objekty s vlastními vlastnostmi. Před vytvořením modulu třídy a jeho objektů ve VBA je vhodné porozumět pojmu třída a objekt. Vezměme si příklad skutečného světa, abyste pochopili, co je třída a co je objekt a jeho vztah.

Pokud například vezmeme plán budovy nebo plán budovy, můžeme pomocí plánu budovy postavit nejen jednu budovu, ale můžeme použít stejný plán a dokážeme postavit více budov na různých místech. Mohou se lišit velikostí pokojů nebo výškou střechy atd., Ale skutečné vlastnosti budovy zůstávají stejné, jako by měl být sklep, dveře, sloupy, strop atd.

Podobně, pokud si vezmete plán auta nebo model, můžeme pro něj vytvořit více duplikátů. Auto bude mít vlastnosti, jako je počet kol, barva, výkon atd. Některé vlastnosti se mohou u jednotlivých automobilů lišit, ale hlavní konfigurace zůstane stejná.

Aby bylo jasnější, můžeme definovat následující:

  • Třída: Jedná se o plán věci, který pomáhá vytvořit objekt.
  • Předmět: Skutečná existence věci.

Jak vložit modul třídy v Excel VBA?

Níže jsou uvedeny různé příklady vložení modulu třídy do Excelu pomocí kódu VBA.

Tuto šablonu Excel modulu modulu VBA si můžete stáhnout zde - Šablonu Excel modulu modulu VBA

Modul Excel VBA Class - Příklad č. 1

Níže jsou uvedeny různé kroky pro vložení modulu třídy pomocí kódu VBA v Excelu.

Krok 1: V horní části přejděte do nabídky „ Vývojář “ a na levé straně klikněte na Visual Basic .

Krok 2: Chcete-li vytvořit modul třídy, musíme do modulu VBA vložit modul třídy. Klikněte na rozbalovací nabídku Vložit nahoře. Z toho zvolte modul třídy .

Nyní je modul třídy vložen na levé straně do VBA, jak je znázorněno na níže uvedeném snímku obrazovky.

Jak již bylo zmíněno dříve, modul třídy je plán, pomocí kterého budeme vytvářet objekty. Musíme tedy definovat několik proměnných a metod, které budou přístupné všem objektům.

Krok 3: Změňte název modulu třídy podle vašich požadavků, zde jsem se změnil na Blueprint

Krok 4: Nyní musíme definovat proměnné a metody.

Kód:

 Možnost Explicitní veřejné přidat jako Integer Public Pro jako Integer Public x As Integer Public y As Integer 

Jak je uvedeno na obrázku výše, nejprve začněte s výslovnou možností. Proč volba explicitní? Vyvolá chybu, pokud použijeme libovolnou proměnnou v programu, který není definován, takže bychom měli explicitně definovat všechny proměnné. Zde definujeme čtyři proměnné add, pro, x a y. Všechny proměnné jsou definovány jako veřejné, protože ostatní moduly pak mají přístup pouze k těmto proměnným.

Krok 5: Až dosud jsme definovali proměnné, které nyní potřebují definovat metody nebo funkce.

Kód:

 Možnost Explicitní veřejné přidání jako celé číslo Pro veřejné jako celé číslo veřejné x jako celé veřejné y jako celé číslo Dílčí součet () add = x + y MsgBox (přidat) End Sub 

Definoval jsem jednu jednoduchou metodu sum (), podle potřeby můžete definovat složité podprogramy. V dílčí metodě sum () jsme definovali, jak provést operaci sčítání a kde tuto hodnotu uložit a nakonec zobrazit výsledek v okně zprávy.

Krok 6: Modul třídy byl vytvořen nyní, je čas vytvořit normální modul pro použití plánu třídy. Proto vložte modul stejným způsobem, jako jsme vložili modul třídy.

Krok 7: Ve výchozím nastavení bude název modulu modul1, který můžeme změnit, pokud chceme. Napište kód do modulu1.

Kód:

 Sub math () Dim obj as New Blueprint obj.x = 5 obj.y = 6 obj.sum End Sub 

Zde píšeme podprogram math (). V tom jsme vytvořili objekt s názvem obj stejně jako plán třídy. To je důvod, proč jsme definovali takovým způsobem „obj jako nový plán“, což znamená zdvojení plánu a název je obj.

V tomto programu jsme nedefinovali x a y, ale přímo přiřadili hodnoty x a y, protože jsou již definovány v modulu třídy a obj je jeho duplikace. Proto bude mít tyto proměnné, ale abychom jim mohli říkat, měli bychom použít jméno object.variable.

Obj.x = 5 průměr, hodnota 5 bude uložena v proměnné x.

Obj.y = 6 střední hodnota 6 bude uložena v proměnné y.

Nyní zavolejte metody definované v modulu třídy pomocí názvu objektu obj.

Obj.sum () provede operaci sčítání, jak je definována v modulu třídy. V modulu třídy jsme definovali jako x + y a objekt, definovali jsme hodnoty pro x a y, takže vezme hodnoty a provede výpočet a výsledek uloží do add, což je celé číslo. V posledním kroku se výsledek zobrazí v okně se zprávou.

Krok 8: Spusťte modul1 stisknutím klávesy F5 nebo kliknutím na tlačítko Play .

Krok 9: Vyberte název makra a klikněte na možnost Spustit .

Výsledky se zobrazí níže.

Modul Excel VBA Class - Příklad č. 2

Postupujte podle následujících kroků:

Krok 1: Nyní přidejte další metodu zvanou „mul“ k provedení multiplikační operace. Výsledek by měl být uložen v buňkách (5, 5) listu1.

Kód:

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

Ve výše uvedené metodě mul () jsme vynásobili xay a výsledek je uložen v „pro“, což je celočíselný datový typ.

Krok 2: Nyní přejděte na modul1 a zavolejte tuto metodu mul pomocí objektu obj, jak je uvedeno níže.

Kód:

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

Krok 3: Stisknutím klávesy F5 spusťte modul. Přejděte na list1 a zkontrolujte, zda se výsledek zobrazí níže.

V předchozím příkladu jsme výsledky zobrazili v okně se zprávou, ale ve druhé metodě jsme se zobrazili v Excelu. Pokud tedy deklarujeme proměnné a metody v modulu třídy, můžeme je použít v jiných modulech pomocí objektu bez opakování kódu. Doufám, že jste pochopili, jak vložit modul třídy do Excel VBA a jak pro něj vytvořit objekt.

Co si pamatovat

  • Při přípravě modulu třídy je vždy vhodné použít explicitní možnost, protože při použití proměnných ve VBA může docházet k překlepům.
  • Pokud neuvádíme číslo listu pro zobrazení výsledků, automaticky vybere aktivní list.
  • Při inicializaci proměnných použijte veřejné klíčové slovo, aby proměnné měly přístup k jiným modulům.
  • Proměnné nebo metody můžete volat až po vytvoření objektu. proto vytvořte objekt pro třídu a poté zavolejte proměnné a metody.

Doporučené články

Toto je průvodce modulem VBA Class. Zde diskutujeme o tom, jak vložit modul třídy v Excelu pomocí kódu VBA spolu s několika praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -

  1. Najít a nahradit VBA
  2. Suma Excelu podle barvy
  3. VBA Zkontrolujte soubor existuje
  4. Kontingenční tabulka odstranit Excel
  5. Kód VBA | Příklady

Kategorie: