Excel VBA klassmodul

Klassmodul i VBA kan definieras som modulen som hjälper dig att skapa dina egna objekt med dina egna egenskaper och metoder som kalkylblad och Excel-mål.

Enkelt uttryckt med hjälp av VBA-klassmodulen kan vi skapa objekt med egna egenskaper. Innan du går till att skapa en klassmodul och dess objekt i VBA är det tillrådligt att förstå begreppet klass och objekt. Tänk på ett verkligt exempel för att förstå vad som är en klass och vad som är ett objekt och dess relation.

Om vi ​​till exempel tar en byggnadsplan eller en plan av en byggnad kan vi med hjälp av en byggnadsplan bygga inte bara en byggnad utan vi kan använda samma plan och kan bygga flera byggnader på olika platser. De kan variera i rumstorlek eller takhöjd etc. men byggnadens faktiska egenskaper förblir desamma som det bör finnas en källare, dörrar, pelare, tak etc.

På samma sätt, om du tar en bilplan eller modell kan vi producera flera kopior till den. En bil kommer att ha egenskaper som ett antal hjul, färg, kraft osv. Vissa av egenskaperna kan variera från bil till bil, men huvudkonfigurationen kommer att förbli densamma.

För att göra det tydligare kan vi definiera som:

  • Klass: Det är en plan av en sak som hjälper till att skapa ett objekt.
  • Objekt: Faktisk existens av en sak.

Hur sätter du in en klassmodul i Excel VBA?

Nedan följer de olika exemplen för att infoga en klassmodul i Excel med hjälp av VBA-kod.

Du kan ladda ner denna VBA klassmodul Excel-mall här - VBA klassmodul Excel-mall

Excel VBA-klassmodul - exempel # 1

Nedan följer de olika stegen för att infoga klassmodulen med VBA-kod i Excel.

Steg 1: Gå till menyn “ Utvecklare ” överst och klicka på Visual Basic på vänster sida.

Steg 2: För att skapa en klassmodul måste vi infoga en klassmodul i VBA. Klicka på rullgardinsmenyn Infoga överst. Välj en klassmodul från det .

Nu läggs en klassmodul till på vänster sida i VBA som visas i skärmbilden nedan.

Som diskuterats tidigare är en klassmodul en plan som vi skapar objekt med. Så vi måste definiera några variabler och metoder som är tillgängliga för alla objekt.

Steg 3: Ändra klassmodulens namn enligt ditt krav, här ändrade jag som Blueprint

Steg 4: Nu måste vi definiera variabler och metoder.

Koda:

 Alternativ Explicit Public lägg till som heltal Public pro Som heltal Public x Som heltal Public y Som heltal 

Som visas i ovanstående skärmdump börjar du först med alternativet. Varför alternativet uttryckligt? Det kommer att kasta ett fel om vi använder någon variabel i programmet som inte är definierat så vi borde definiera alla variabler uttryckligen. Här definierar vi fyra variabler add, pro, x och y. Alla variabler definieras som offentliga eftersom bara dessa variabler kan nås av andra moduler.

Steg 5: Hittills har vi definierade variabler nu måste definiera metoder eller funktioner.

Koda:

 Alternativ Explicit Public lägg till som heltal Public pro Som heltal Public x Som heltal Public y As Integer Sub sum () add = x + y MsgBox (add) End Sub 

Jag definierade en enkel metodsumma (), du kan definiera komplexa underprogram enligt krav. I undermetoden sum () definierade vi hur du ska utföra tilläggsoperation och var ska lagra det värdet och sedan slutligen visa resultatet i en meddelanderuta.

Steg 6: En klassmodul har skapats nu är det dags att skapa en normal modul för att använda klassens plan. Sätt därför in en modul på samma sätt som vi införde en klassmodul.

Steg 7: Som standard kommer modulnamnet att vara modul1 som vi kan ändra om vi vill. Skriv koden i modul1.

Koda:

 Sub-matematik () Dim obj Som New Blueprint obj.x = 5 obj.y = 6 obj.sum End Sub 

Här skriver vi en delprogrammatematik (). I det skapade vi ett objekt med namnet obj som samma som en klassplan. Det är anledningen till att vi har definierat på ett sådant sätt ”obj som ny ritning” vilket innebär dubblering av ritningen och namnet är obj.

I detta program definierade vi inte x och y utan direkt tilldelade värdena till x och y eftersom dessa redan är definierade i en klassmodul och obj är duplicering av det. Därför kommer det att ha dessa variabler, men för att kalla dem bör vi använda ett objekt.varificerat namn.

Obj.x = 5 medelvärde, värde 5 kommer att lagras i x-variabel.

Obj.y = 6 medelvärde 6 kommer att lagras i y-variabeln.

Ring nu metoderna som definieras i klassmodulen med hjälp av objektnamn obj.

Obj.sum () kommer att utföra tilläggsoperationen enligt definitionen i klassmodulen. I klassmodulen definierade vi som x + y och ett objekt, vi definierade värdena för x och y därmed kommer det att ta värdena och kommer att utföra beräkningen och lagra resultatet i tillägg som är en heltalstyp. I det sista steget visar det resultatet i meddelanderutan.

Steg 8: Kör modulen1 genom att trycka på F5- tangenten eller genom att klicka på Spela- knappen.

Steg 9: Välj makronamnet och klicka på alternativet Kör .

Resultaten visas som nedan.

Excel VBA-klassmodul - exempel # 2

Följ stegen nedan:

Steg 1: Lägg nu till en annan metod som heter "mul" för att utföra multiplikationsoperationer. Resultatet ska lagras i cellerna (5, 5) i arket1.

Koda:

 Sub mul () pro = x * y Sheet1.Cells (5, 5) = pro End Sub 

I ovanstående mul () -metod multiplicerade vi x och y, och resultatet lagras i "pro", som är en heltaldatatyp.

Steg 2: Gå nu till modul1 och kalla denna mulmetod med objektet obj som nedan.

Koda:

 Sub math1 () Dim obj Som New Blueprint obj.x = 5 obj.y = 6 obj.mul End Sub 

Steg 3: Tryck på F5-tangenten för att köra modulen. Gå till blad1 och kontrollera att resultatet kommer att visas som nedan.

I föregående exempel visade vi resultat i meddelanderutan men i den andra metoden visade vi i excel. Så om vi förklarar variabler och metoder i klassmodulen kan vi använda dem i andra moduler med hjälp av ett objekt utan att upprepa koden. Hoppas att du har förstått hur du sätter in klassmodulen i Excel VBA och hur du skapar ett objekt för det.

Saker att komma ihåg

  • Det är alltid föredraget att använda alternativet uttryckligt när du förbereder en klassmodul eftersom det kan finnas typfel när du använder variabler i VBA.
  • Om vi ​​inte nämner arknummer för att visa resultat kommer det att välja det aktiva arket automatiskt.
  • Använd offentligt nyckelord när du initierar variablerna så att variablerna kan få åtkomst till andra moduler.
  • Du kan ringa på variabler eller metoder först efter att du har skapat objektet. skapa därför ett objekt för klass och ring sedan variabler och metoder.

Rekommenderade artiklar

Detta är en guide till VBA klassmodul. Här diskuterar vi hur man sätter in klassmodul i Excel med hjälp av VBA-kod tillsammans med några praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA Hitta och ersätt
  2. Excel Sum efter färg
  3. VBA-kontrollfil finns
  4. Excel Ta bort pivottabell
  5. VBA-kod | exempel

Kategori: