Modul třídy Excel VBA
Třída VBA nám umožňuje vytvořit si vlastní funkci Object, do které můžeme přidat jakýkoli druh funkcí, podrobnosti příkazového řádku, typ funkce. Když vytváříme Class ve VBA, chovají se jako zcela nezávislá funkce objektu, ale všechny jsou propojeny dohromady.
To nám pomáhá při vytváření aplikací, jako jsou ty, které již existují ve VBA a Excel. Například se točí kolo šlapání. Pedály a kola jsou součástí cyklu, ale oba fungují samostatně, aby poskytly výstup jako pohyblivý cyklus.

Jak vytvořit vlastní třídu a objekty ve VBA?
Uvažujme příklad mobilních telefonů 3 různých společností, kterými jsou Apple, Samsung a Nokia, s přihlédnutím k populárním a nově spuštěným mobilním telefonům těchto společností, kterými jsou iPhone X, Samsung S8 a Nokia 7+.
Budeme porovnávat některé důležité funkce těchto mobilních telefonů, jako je značka, model, velikost obrazovky, typ fotoaparátu a typ nabíječky. Na tomto základě jsou to v zásadě důležité funkce. Většinou porovnáváme jakýkoli mobilní telefon. Níže jsme zmapovali výše diskutované parametry v grafu.

V okně VBA z nabídky Vložit vyberte modul třídy, jak je znázorněno níže.

Zobrazí se okno modulu Class počínaje Option Explicit, jak je uvedeno níže.

Možnost Explicit zajišťuje, že proměnné musí být deklarovány před použitím. Pokud nedefinujeme žádnou proměnnou a nepoužíváme ji, systém vyvolá chybu. Nyní ve třídě definujte všechny diskutované parametry měření mobilních telefonů s veřejností . Díky tomu budou tyto definované parametry otevřené použití kdykoli a kdekoli bez jakýchkoli omezení.
Kód:
Možnost Explicitní 'Seznam vlastností Veřejná značka jako řetězec Veřejný model jako řetězec Veřejná obrazovka Velikost jako řetězec Veřejná kamera Typ jako řetězec Veřejná nabíječka Typ jako řetězec

Nyní přidáme jiný proces ovládání, funkce a funkce mobilního telefonu, jako je spuštění telefonu, vypnutí telefonu, přehrávání hudby, nabíjení baterie atd. S podkategorií pro každou funkci, jak je uvedeno níže. A přidejte do každé smyčky podkategorií okno se zprávou, abychom viděli, které metody aktuálně běží.
Kód:
„Možné techniky Sub MobileStarts () MsgBox„ Mobile se zapíná “End Sub
Sub MobileOff () MsgBox "Mobile se vypíná" End Sub
Sub PlayMusic () MsgBox „Audio system is currently working“ End Sub
Sub BatteryCharge () MsgBox „Nabíječka je aktuálně připojena“ End Sub

Tím je dokončeno vytváření třídy. Než se přesuneme dále, doporučuje se změnit název modulu třídy. Vyberte si libovolné jméno podle svého požadavku, protože ho změníme na Mobile .

Nyní napíšeme kód do modulu, kde uvidíme a porovnáme vlastnosti a funkce jednotlivých značek mobilních telefonů. K tomu musíme přidat modul tak, že tam přejdeme v nabídce Vložit, jak je znázorněno v nabídce.

Když pracujeme a vytváříme třídu, dostaneme nový modul otevřený s povoleným Option Explicit v tomto. Nyní začněte psát podkategorii s názvem prováděných funkcí, jak je uvedeno níže.

Můžeme změnit název modulu stejně jako pro Class. To nám pomáhá zachovat společnou identitu vytvořeného kódu VBA. To lze provést z oken vlastností, jak je uvedeno níže.

Již jsme definovali různé funkce, funkce a metody všech značkových mobilních telefonů. Pojďme nyní definovat 3 proměnné v libovolném názvu (nejlépe ve jménu značky mobilního telefonu) a přiřadit ji k Mobile. Začněme nejprve s iPhone, jak je znázorněno níže.

Podobně proveďte totéž pro zbytek značky mobilních telefonů, jak je znázorněno níže.

Tímto způsobem přiřadíme vytvořenou Třídu ke každé dimenzionální proměnné značky Mobile. Nyní u každé značky proveďte stejný proces přiřazení třídy .
Nyní musíme přiřadit všechny funkce mobilního telefonu a jeho hodnotu. K tomu použijte funkci Nastavit a přiřaďte ji k Novému mobilu, jak je znázorněno níže.

Nyní otevřete smyčku With-End pro iPhone. Zde definujeme každý atribut mobilního telefonu.

Jak vidíme, všechny definované funkce značky iPhone od Class jsme přiřadili konkrétním hodnotám jako String.
Totéž udělejte i pro značku Samsung a Nokia.

Nyní použijeme DebugPrint k tisku informací v okamžitém okně. Je to užitečné tam, kde chceme vidět určitou proměnnou v řádku kódu. Pro každou značku Mobile vybereme různé funkce, jak je uvedeno níže.

Nyní přiřaďte funkční operace MobileStarts a MobileOff , které jsme definovali ve třídě, ke každé z mobilních značek ve stejném modulu spolu s polem Zpráva. Zde můžete přeskočit okno se zprávou.

Tím je dokončeno přiřazení třídy k modulu. Nyní zkompilujte kód a spusťte pomocí klávesy F5. Uvidíme zprávu každé mobilní značky, jak je uvedeno níže.

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.
- Pro testování můžete při vytváření třídy použít menší techniky nebo funkce. To lze později upravit, když chceme přidat další funkce a techniky produktu.
- Až dokončíme třídu a přiřadíme ji k modulu, vždy zvažte podobné nebo stejné funkce. To nám pomůže při porovnávání vlastností různých produktů.