Modulo di classe VBA di Excel
La classe VBA ci consente di creare la nostra funzione Object in cui possiamo aggiungere qualsiasi tipo di funzionalità, dettagli della riga di comando, tipo di funzione. Quando creiamo Class in VBA, si comportano come una funzione oggetto totalmente indipendente ma sono tutti collegati insieme.
Questo ci aiuta a creare applicazioni come quelle già presenti in VBA ed Excel. Ad esempio, la ruota del ciclo di pedalata ruota. I pedali e le ruote sono entrambi le parti di Cycle, ma entrambi lavorano indipendentemente per fornire l'output come un ciclo in movimento.

Come creare classi e oggetti personalizzati in VBA?
Consideriamo un esempio di telefoni cellulari di 3 società diverse, che sono Apple, Samsung e Nokia, considerando i telefoni cellulari popolari e appena lanciati di queste società, che sono iPhone X, Samsung S8 e Nokia 7+.
Confronteremo alcune delle caratteristiche importanti per questi telefoni cellulari, come marca, modello, dimensioni dello schermo, tipo di fotocamera e tipo di caricatore. Queste sono caratteristiche fondamentalmente importanti su quella base. Confrontiamo principalmente qualsiasi telefono cellulare. Di seguito abbiamo mappato i parametri sopra discussi in un grafico.

Nella finestra VBA dal menu Inserisci , seleziona il modulo di classe, come mostrato di seguito.

Otterremo la finestra del modulo di classe che inizia con Option Explicit, come mostrato di seguito.

L'opzione Explicit garantisce che le variabili debbano essere dichiarate prima di essere utilizzate. Se non dichiariamo alcuna variabile e la usiamo, il sistema genererà un errore. Ora in classe, definisci tutti i parametri discussi di misurazione dei telefoni cellulari con il pubblico . Ciò renderà quei parametri definiti aperti all'uso sempre e ovunque, senza limitazioni.
Codice:
Opzione Esplicita 'Elenco di proprietà Public Brand As String Modello pubblico As String Public ScreenSize As String Public CameraType As String Public ChargerType As String

Ora aggiungeremo un diverso processo di funzionamento, caratteristiche e funzioni di un telefono cellulare, come l'avvio di un telefono, lo spegnimento del telefono, la riproduzione di musica, la ricarica della batteria, ecc. Con Sottocategoria per ciascuna funzione come mostrato di seguito. E aggiungi una finestra di messaggio in ogni ciclo di sottocategoria in modo che saremo in grado di vedere quali metodi sono attualmente in esecuzione.
Codice:
'Possible Techniques Sub MobileStarts () MsgBox "Mobile is Turning" End Sub
Sub MobileOff () MsgBox "Il cellulare si sta spegnendo" End Sub
Sub PlayMusic () MsgBox "Il sistema audio sta funzionando" End Sub
Sub BatteryCharge () MsgBox "Il caricabatterie è attualmente collegato" End Sub

Questo completa la creazione di Class. Prima di procedere oltre, si consiglia di modificare il nome del modulo di classe. Scegli un nome in base alle tue esigenze poiché lo cambiamo in Mobile .

Ora scriveremo un codice in un modulo dove vedremo e confronteremo le caratteristiche e le funzioni di ogni marca di cellulare. Per questo, dobbiamo aggiungere un modulo andando lì sotto il menu Inserisci come mostrato nel menu.

Avremo un nuovo modulo aperto con l'opzione Option Explicit abilitata in questo mentre stiamo lavorando e creando una classe. Ora inizia a scrivere Sottocategoria nel nome delle funzioni eseguite come mostrato di seguito.

Possiamo cambiare il nome del modulo come abbiamo fatto anche per Class. Questo ci aiuta a mantenere l'identità correlata del codice VBA creato. Questo può essere fatto dalle finestre delle proprietà, come mostrato di seguito.

Abbiamo già definito varie caratteristiche, funzioni e metodi di tutti i telefoni cellulari di marca. Ora definiamo 3 variabili in qualsiasi nome (preferibilmente nel nome della marca del cellulare) e assegniamole a Mobile. Cominciamo prima con l'iPhone, come mostrato di seguito.

Allo stesso modo, fai lo stesso per il resto del marchio di telefoni cellulari, come mostrato di seguito.

In questo modo, assegniamo la Classe creata a ciascuna variabile dimensionale del marchio Mobile. Ora per ogni marchio, esegui lo stesso processo di assegnazione della classe .
Ora dobbiamo assegnare tutte le funzionalità del telefono cellulare e il suo valore. A tal fine, utilizzare la funzione Imposta e assegnarla a un nuovo cellulare, come mostrato di seguito.

Ora apri With-End loop per iPhone. Qui è dove definiremo ogni attributo del cellulare.

Come possiamo vedere, abbiamo assegnato tutte le funzionalità definite del marchio iPhone da Class con valori specifici come String.
Fai la stessa cosa anche per i marchi Samsung e Nokia.

Ora useremo DebugPrint per stampare le informazioni nella finestra immediata. È utile quando vogliamo vedere una certa variabile in una riga di codice. Selezioneremo diverse funzionalità per ogni marchio Mobile, come mostrato di seguito.

Ora assegna le operazioni funzionali MobileStarts e MobileOff , che abbiamo definito in Class, a ciascuno dei marchi mobili nello stesso modulo insieme alla casella dei messaggi. Puoi saltare la finestra del messaggio qui.

Questo completa l'assegnazione della classe al modulo. Ora compila il codice ed esegui usando il tasto F5. Vedremo il messaggio di ogni brand di cellulari, come mostrato di seguito.

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.
- Per i test, puoi usare tecniche o funzioni minori nella creazione di Class. Questo può essere modificato in seguito quando si desidera aggiungere più funzioni e tecniche del prodotto.
- Considera sempre caratteristiche simili o uguali quando finiamo la classe e la assegniamo a un modulo. Questo ci aiuterà a confrontare le caratteristiche di diversi prodotti.