Hvordan lage og bruke VBA klassemoduler? (Eksempler)

Innholdsfortegnelse

Excel VBA klassemoduler

Når vi bruker VBA bruker vi egenskapene og attributtene som er definert i VBA, men hva skjer når vi vil lage våre egne egenskaper og metoder og attributter, det er når vi bruker en klassemodul i VBA slik at vi kan få den brukerdefinert, en klassemodulen har sitt eget sett med koder definert for funksjoner, egenskaper og objekter av brukeren.

Klassemoduler brukes til å lage et objekt. Når vi sier ting, selv om det er en variabel, er det små programmer. Mens vi skriver koden, skriver vi vanligvis i moduler. Viktige moduler er der vi skriver våre prinsipper for å gjøre jobben. Vi bruker også brukerskjema for å lage grafiske brukergrensesnitt.

Men hvis du ser på bildet ovenfor, kan du se "Klassemodul." Jeg vet helt sikkert at du ikke har rørt det før du leser dette innlegget. Du må lure på hva denne VBA-klassemodulen er når all jobben kan gjøres ved å bruke selve den vanlige modulen vår.

Hva er klassemodulen?

Klassemoduler tillater en bruker å lage sitt objekt akkurat som hvordan vi har innebygde elementer i standardmoduler som "Arbeidsark", "Arbeidsbøker", "Område" og så videre.

Som dette ved hjelp av en klassemodul, kan vi lage tilpassede objekter.

Klassen har et direkte forhold til objekter. For eksempel har du et maskindiagram for å bygge en maskin, men husk at det ikke er en maskin ennå og bruker dette maskindiagrammet, og vi kan lage mange maskiner slik.

For eksempel, hvis du vil liste opp forskjellige maskinmerker for å vise egenskapene til flere modeller.

I maskinen har vi merkenavn, serienummer, maskinkraft, enhetens farge, antall motorer som er involvert i den, drivstofftype osv.… På teknisk språk kalles disse "egenskaper".

Når det gjelder maskinens egenskaper, kan vi starte, vi kan slå av, vi kan øke motorens hastighet, vi kan ta pause, osv … Og disse kalles "Metoder."

Eksempel

La oss starte ballen med å rulle fordi det alltid er kjedelig å lese opp den teoretiske delen. For å sette inn en klassemodul, gå til alternativet Sett inn i en grunnleggende visuell redigerer.

Nå kan vi se en klassemodul som nedenfor.

Dette ser ut som den vi har ovenfor som en vanlig modul. Endre navnet på klassemodulen i eiendomsvinduet. For å se eiendomsvinduet, trykk på F4-tasten .

Nå erklær variabelen som en streng.

Uten å lage en underprosedyre i VBA, må vi erklære variabelen og bruke ordet "Offentlig" ikke "Dim."

Nå kan vi få tilgang til denne variabelen i hvilken som helst modul og klassemodul.

Gå nå til en vanlig modul og gi navnet til variabelen.

Etter å ha erklært variabelen, må vi tilordne datatypen i VBA; i stedet for å angi datatypen, kan vi gi navnet på klassemodulen, dvs. CM.

Ved hjelp av variabelen "k" får vi tilgang til den offentlige variabelen vi har definert i klassemodulen, dvs. "Min verdi."

Som vi kan se på bildet ovenfor, viser det muligheten for variabelnavn fra klassemodulen for å tilordne verdien til den.

Vis nå verdien til den tildelte variabelen i VBA-meldingsboksen.

Kode:

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

Kjør denne koden ved hjelp av F5-tasten eller manuelt for å vise resultatet.

Klassemodul vs. objekter

I den innledende fasen av klassemodulen blir alle forvirret med hva klasse er og hva et objekt er.

For å forstå dette, husk vårt tidligere eksempel på et maskindiagram. Det første vi trenger for å produsere en maskin er at vi trenger å designe maskinen først, og deretter kan flere kopier replikeres med det designet.

Forholdet dette nå til klassemodulen vår.

  • Her er klassemodulen et design. Og Objekt er kopien laget av Designet.
  • En annen interessant ting er at vi trenger å bruke ordet "nytt" for å lage et objekt fra klassemodulen.

Nedenfor er et eksempel på det samme.

En ting til når vi bruker innebygde objekter som regneark, arbeidsbøker og rekkeviddeobjekter, vi bruker ikke ordet "nytt".

For å starte prosessen med Class Module, bør du vite disse grunnleggende tingene. I de kommende artiklene vil vi se eksemplene på neste nivå.

Det virker vanskelig å forstå dette; jo mer tid du bruker med en klassemodul, vil du bli vant til det.

Interessante artikler...