Cum se creează și se utilizează module de clasă VBA? (Exemple)

Module de clasă VBA Excel

Când folosim VBA folosim proprietățile și atributele definite în VBA, dar ce se întâmplă atunci când dorim să ne creăm propriile proprietăți, metode și atribute, adică atunci când folosim un modul de clasă în VBA, astfel încât să îl putem defini de utilizator, un modulul de clasă are propriul set de coduri definite de utilizator pentru funcții, proprietăți și obiecte.

Modulele de clasă sunt utilizate pentru a crea un obiect. Când spunem obiecte, deși este o variabilă, acestea sunt programe mici. În timp ce scriem codul, de obicei scriem în module. Modulele de bază sunt locul în care ne scriem codurile pentru a face treaba. De asemenea, folosim formularul de utilizator pentru a crea interfețe grafice de utilizator.

Dar dacă vă uitați la imaginea de mai sus, puteți vedea „Modulul clasei”. Știu sigur că nu ați atins asta până nu citiți această postare. Trebuie să vă întrebați ce este acest modul de clasă VBA atunci când toate lucrările pot fi realizate folosind modulul nostru obișnuit.

Ce este modulul de clasă?

Modulele de clasă permit utilizatorului să-și creeze propriul obiect la fel ca modul în care avem obiecte încorporate în module obișnuite, cum ar fi „Foi de lucru”, „Cărți de lucru”, „Gama” și așa mai departe.

Astfel, folosind un modul de clasă, putem crea obiecte personalizate.

Clasa are o relație directă cu obiectele. De exemplu, aveți o diagramă de mașină pentru a construi o mașină, dar amintiți-vă că nu este încă o mașină și folosind această diagramă de mașină putem construi multe mașini de acest fel.

De exemplu, dacă doriți să enumerați diferite mărci de mașini pentru a enumera caracteristicile diferitelor modele.

În mașină avem un nume de marcă, numărul de serie, puterea mașinii, culoarea mașinii, numărul de motoare implicate în ea, tipul de combustibil al motorului, etc. ... În limbaj tehnic, acestea sunt numite „proprietăți”.

În ceea ce privește proprietățile mașinii, putem porni, putem opri, putem crește viteza motorului, putem întrerupe, etc ... Și acestea se numesc „Metode”.

Exemplu

Puteți descărca acest șablon de clasă VBA aici - Șablon de clasă VBA

Să începem să rulăm mingea pentru că este întotdeauna plictisitor să citim partea teoretică. Pentru a insera un modul de clasă, accesați opțiunea de inserare în editorul de bază vizual.

Acum putem vedea un modul de clasă ca cel de mai jos.

Acesta arată similar cu cel pe care îl avem mai sus ca un modul obișnuit. Schimbați numele modulului clasei în fereastra de proprietăți. Pentru a vedea fereastra de proprietăți, apăsați tasta F4 .

Acum declarați variabila ca un șir.

Fără a crea o subprocedură în vba, trebuie să declarăm variabila și, de această dată, folosind cuvântul „Public” nu „Dim”.

Acum putem accesa această variabilă în orice modul și modul de clasă.

Acum mergeți la un modul obișnuit și denumiți variabila.

După declararea variabilei, trebuie să atribuim tipul de date în VBA, în loc să alocăm tipul de date, putem da doar numele modulului clasei, adică CM

Acum folosind variabila „k” putem accesa variabila publică pe care am definit-o în modulul clasei, adică „Valoarea mea”.

După cum putem vedea în imaginea de mai sus, arată opțiunea numelui variabilei din modulul clasei pentru a-i atribui valoarea.

Acum arătați valoarea variabilei atribuite în caseta de mesaje VBA.

Cod:

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

Rulați acest cod folosind tasta F5 sau manual pentru a afișa rezultatul.

Modul de clasă vs obiecte

În etapa inițială a modulului de clasă, toată lumea se confundă cu ceea ce este clasă și cu ce este un obiect.

Pentru a înțelege acest lucru, amintește exemplul nostru anterior de diagramă a mașinii. Primul lucru de care avem nevoie pentru a produce o mașină este că mai întâi trebuie să proiectăm mașina și apoi mai multe copii pot fi reproduse cu acel design.

Acum legați acest lucru de modulul nostru de clasă.

  • Aici Modulul de clasă este un design. Și Object este copia creată de Design.
  • Un alt lucru interesant este că trebuie să folosim cuvântul „nou” pentru a crea un obiect din modulul clasei.

Mai jos este un exemplu de același lucru.

Încă un lucru când folosim obiecte încorporate, cum ar fi foi de lucru, registre de lucru și obiecte de gamă, nu folosim cuvântul „nou”

Pentru a începe procesul cu modulul de clasă, trebuie să știți aceste lucruri de bază. În articolele următoare, vom vedea exemplele de la nivelul următor.

Pare dificil să înțelegi acest lucru, cu cât vei petrece mai mult timp cu un modul de clasă.