Moduli di classe VBA

Moduli di classe VBA di Excel

Quando usiamo VBA usiamo le proprietà e gli attributi definiti in VBA ma cosa succede quando vogliamo creare le nostre proprietà, metodi e attributi, cioè quando usiamo un modulo di classe in VBA in modo che possiamo averlo definito dall'utente, un Il modulo di classe ha il proprio set di codici definiti per funzioni, proprietà e oggetti dall'utente.

I moduli di classe vengono utilizzati per creare un oggetto. Quando diciamo oggetti anche se è una variabile, questi sono piccoli programmi. Durante la scrittura del codice di solito scriviamo in moduli. I moduli di base sono dove scriviamo i nostri codici per svolgere il lavoro. Usiamo anche il modulo utente per creare interfacce utente grafiche.

Ma se guardi l'immagine sopra puoi vedere "Modulo di classe". So per certo che non l'hai toccato fino a quando non stai leggendo questo post. Ti starai chiedendo che cos'è questo modulo di classe VBA quando tutto il lavoro può essere svolto utilizzando il nostro normale modulo stesso.

Cos'è il modulo di classe?

I moduli di classe consentono a un utente di creare il proprio oggetto proprio come abbiamo oggetti incorporati in moduli regolari come "fogli di lavoro", "cartelle di lavoro", "intervallo" e così via.

In questo modo, utilizzando un modulo di classe, possiamo creare oggetti personalizzati.

La classe ha una relazione diretta con gli oggetti. Ad esempio, hai un diagramma macchina per costruire una macchina, ma ricorda che non è ancora una macchina e usando questo diagramma macchina possiamo costruire molte macchine in questo modo.

Ad esempio, se si desidera elencare varie marche di macchine per elencare le caratteristiche dei vari modelli.

Nella macchina abbiamo un marchio, un numero di serie, la potenza della macchina, il colore della macchina, il numero di motori coinvolti, il tipo di carburante, ecc ... Nel linguaggio tecnico queste sono chiamate "proprietà".

Per quanto riguarda le proprietà della macchina, possiamo partire, possiamo spegnere, possiamo aumentare la velocità del motore, possiamo mettere in pausa, ecc ... E questi sono chiamati "Metodi".

Esempio

Puoi scaricare questo modello di classe VBA qui - Modello di classe VBA

Cominciamo a girare la palla perché è sempre la cosa noiosa leggere la parte teorica. Per inserire un modulo di classe vai all'opzione di inserimento nell'editor di visual basic.

Ora possiamo vedere un modulo di classe come il seguente.

Questo è simile a quello che abbiamo sopra come modulo normale. Modificare il nome del modulo di classe nella finestra delle proprietà. Per vedere la finestra delle proprietà premere il tasto F4 .

Ora dichiara la variabile come una stringa.

Senza creare una sottoprocedura in vba dobbiamo dichiarare la variabile e anche questa volta usando la parola "Public" e non "Dim".

Ora possiamo accedere a questa variabile in qualsiasi modulo e modulo di classe.

Ora vai a un modulo normale e dai un nome alla variabile.

Dopo aver dichiarato la variabile dobbiamo assegnare il tipo di dati in VBA, invece di assegnare il tipo di dati possiamo semplicemente dare il nome del modulo di classe cioè CM

Ora utilizzando la variabile “k” possiamo accedere alla variabile pubblica che abbiamo definito nel modulo di classe ovvero “My Value”.

Come possiamo vedere nell'immagine sopra, mostra l'opzione del nome della variabile dal modulo di classe per assegnarle il valore.

Ora mostra il valore della variabile assegnata nella finestra di messaggio VBA.

Codice:

 Sub Class_Example () Dim k As New CM k.MyValue = "Hello" MsgBox k.MyValue End Sub 

Esegui questo codice utilizzando il tasto F5 o manualmente per mostrare il risultato.

Modulo di classe vs oggetti

Nella fase iniziale del modulo di classe, tutti vengono confusi con ciò che è classe e ciò che è un oggetto.

Per capire questo, ricorda il nostro precedente esempio di diagramma di macchina. La prima cosa di cui abbiamo bisogno per produrre una macchina è che dobbiamo prima progettare la macchina e poi più copie possono essere replicate con quel disegno.

Ora collegalo al nostro modulo di classe.

  • Qui il modulo di classe è un progetto. E Object è la copia creata dal Design.
  • Un'altra cosa interessante è che dobbiamo usare la parola "nuovo" per creare un oggetto dal modulo di classe.

Di seguito è riportato un esempio dello stesso.

Un'altra cosa quando usiamo oggetti incorporati come fogli di lavoro, cartelle di lavoro e oggetti intervallo non usiamo la parola "nuovo"

Per iniziare il procedimento con il modulo di classe, devi sapere queste cose di base. Nei prossimi articoli vedremo gli esempi di livello successivo.

Sembra difficile capirlo, più tempo trascorri con un modulo di classe ti ci abituerai.