Com crear i utilitzar mòduls de classe VBA? (Exemples)

Mòduls de classe Excel VBA

Quan fem servir VBA fem servir les propietats i els atributs definits a VBA, però què passa quan volem crear les nostres pròpies propietats, mètodes i atributs, és a dir, quan fem servir un mòdul de classe a VBA per tal que el puguem definir l’usuari, un El mòdul class té el seu propi conjunt de codis definits per l'usuari per a funcions, propietats i objectes.

Els mòduls de classe s’utilitzen per crear un objecte. Quan diem objectes, tot i que és una variable, es tracta de petits programes. Mentre escrivim el codi, normalment escrivim en mòduls. Els mòduls bàsics són on escrivim els nostres codis per fer la feina. També fem servir el formulari d’usuari per crear interfícies gràfiques d’usuari.

Però si mireu la imatge anterior podeu veure "Mòdul de classe". Sé amb seguretat que no ho heu tocat fins que llegiu aquest post. Us hauríeu de preguntar què és aquest mòdul de classe VBA quan es pot fer tota la feina mitjançant el nostre mòdul habitual.

Què és el mòdul de classes?

Els mòduls de classe permeten a l'usuari crear el seu propi objecte de la mateixa manera que tenim objectes integrats en mòduls normals com "Fulls de treball", "Llibres de treball", "Rang", etc.

Així, mitjançant un mòdul de classe, podem crear objectes personalitzats.

La classe té una relació directa amb els objectes. Per exemple, teniu un diagrama de màquina per construir una màquina, però recordeu que encara no és una màquina i mitjançant aquest diagrama de màquina podem construir moltes màquines així.

Per exemple, si voleu enumerar diverses marques de màquines per enumerar les característiques de diversos models.

A la màquina tenim un nom de marca, número de sèrie, potència de la màquina, color de la màquina, nombre de motors que hi participen, tipus de combustible del motor, etc. ... En llenguatge tècnic s’anomenen “propietats”.

Respecte a les propietats de la màquina, podem arrencar, apagar-nos, augmentar la velocitat del motor, fer pauses, etc ... I aquests s'anomenen "Mètodes".

Exemple

Podeu descarregar aquesta plantilla de classe VBA aquí - Plantilla de classe VBA

Comencem a rodar la pilota perquè sempre és avorrit llegir la part teòrica. Per inserir un mòdul de classe, aneu a inserir l'opció a l'editor visual bàsic.

Ara podem veure un mòdul de classe com el següent.

Això sembla similar al que tenim anteriorment com a mòdul normal. Canvieu el nom del mòdul de classe a la finestra de propietats. Veure finestra de propietats premeu la tecla F4.

Ara declareu la variable com una cadena.

Sense crear un subprocediment a vba, hem de declarar la variable i també aquesta vegada utilitzant la paraula "Públic" i no "Dim".

Ara podem accedir a aquesta variable en qualsevol mòdul i mòdul de classe.

Ara aneu a un mòdul normal i anomeneu la variable.

Després de declarar la variable, hem d'assignar el tipus de dades a VBA, en lloc d'assignar el tipus de dades, només podem donar el nom del mòdul de classe, és a dir, CM

Ara utilitzant la variable "k" podem accedir a la variable pública que hem definit al mòdul de classe, és a dir, "El meu valor".

Com podem veure a la imatge anterior, mostra l'opció de nom de variable del mòdul de classe per assignar-li el valor.

Ara mostreu el valor de la variable assignada al quadre de missatge VBA.

Codi:

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

Executeu aquest codi amb la tecla F5 o manualment per mostrar el resultat.

Mòdul de classe contra objectes

A la fase inicial del mòdul de classe, tothom es confon amb el que és classe i el que és un objecte.

Per entendre-ho, recorda el nostre anterior exemple de diagrama de màquina. El primer que necessitem per produir una màquina és que primer hem de dissenyar la màquina i després es poden replicar diverses còpies amb aquest disseny.

Ara relacioneu-ho amb el nostre mòdul de classe.

  • Aquí Mòdul de classe és un Disseny. I Objecte és la còpia creada per Disseny.
  • Una cosa més interessant és que hem d’utilitzar la paraula “nou” per crear un objecte a partir del mòdul de classe.

A continuació es mostra un exemple del mateix.

Una cosa més quan fem servir objectes integrats, com ara fulls de treball, llibres de treball i objectes d’interval, no fem servir la paraula "nou"

Per iniciar els tràmits amb el mòdul de classes, hauríeu de conèixer aquestes coses bàsiques. En els propers articles, veurem els exemples de nivell següent.

Sembla difícil d’entendre això, com més temps passareu amb un mòdul de classe us hi acostumareu.