VBA MOD

Excel VBA MOD-operatör

I VBA MOD är samma som för applikationen i matematik, när ett tal delas med dess delare och vi får en påminnelse från den divisionen, används den här funktionen för att ge oss den återstoden från divisionen, det är inte en funktion i VBA snarare än att det är en operatör.

MOD är inget annat än MODULO är en matematisk operation. Det är exakt samma som divisionen men resultatet blir något annorlunda där division tar det delade beloppet men MOD tar resten av divisionen. Till exempel: Om du delar 21 med 2 delningsresultat är 10,50 av MOD är resten av divisionen dvs 1. (Nummer 2 kan bara dela 20, inte 21, så resten är 1).

I det normala excel är det en funktion men i VBA är det inte en funktion, det är bara en matematisk operator. I den här artikeln kommer vi att undersöka denna operatör i detalj.

Syntax

Bara för att påminna dig om att detta inte är en funktion att ha syntax. För vår läsares förståelse låt mig uttrycka det i ordet.

 Nummer 1 MOD nummer 2 (delare) 

Nummer 1 är inget annat än vad vi vill dela upp.

Nummer 2 detta är delaren dvs vi kommer att dela nummer 1 med denna delare.

MOD resultatet från nummer 1 / nummer 2.

Hur använder jag MOD i VBA?

Du kan ladda ner denna VBA MOD-funktionsmall här - VBA MOD-funktionsmall

Exempel nr 1

Följ stegen nedan för att skriva koden.

Steg 1: Skapa ett makronamn.

Koda:

 Sub MOD_Exempel1 () Avsluta Sub 

Steg 2: Definiera en av variablerna som " heltal ".

Koda:

 Sub MOD_Example1 () Dim i Som Integer End Sub 

Steg 3: Utför nu beräkningen som “i = 20 MOD 2”

Som jag sa, i början är MOD en operatör, inte en funktion. Så jag har använt ordet MOD som hur jag anger ett plus (+).

Koda:

 Sub MOD_Exempel1 () Dim i som heltal i = 21 Mod 2 End Sub 

Steg 4: Tilldela nu värdet "I" till meddelandefältet.

Koda:

 Sub MOD_Exempel1 () Dim i som heltal i = 21 Mod 2 MsgBox i End Sub 

Steg 5: Kör kodmeddelandefältet visar värdet "I".

Exempel 2

Mod i vba returnerar alltid heltal, dvs utan decimaler om du anger numret i decimaler. Titta till exempel på koden nedan.

Koda:

 Sub MOD_Exempel2 () Dim i som heltal i = 26,25 Mod 3 MsgBox i End Sub 

Divisor 3 kan dela 24 så resten här är 2,25 men MOD-operatören returnerar heltalsvärdet dvs 2, inte 2,25.

Nu kommer jag att ändra siffran till 26,51 och se skillnaden.

Koda:

 Sub MOD_Exempel2 () Dim i som heltal i = 26,51 Mod 3 MsgBox i End Sub 

Jag kommer att köra den här koden och se vad resultatet blir.

Wow!!! Vi har noll som svar. Anledningen till att vi fick noll eftersom VBA rundade siffrorna som våra bankirer gör, dvs. varje decimal som är större än 0,5 kommer att avrundas upp till nästa heltal. Så i det här fallet avrundas 26.51 till 27.

Eftersom 3 kan dela 27 med 9 får vi inga återstående värden, så värdet på i är lika med noll.

Nu ska jag ange delningsvärdet även i decimaler.

Koda:

 Sub MOD_Exempel2 () Dim i som heltal i = 26,51 Mod 3,51 MsgBox i End Sub 

Steg 6: Kör den här koden och se vad resultatet är.

Vi fick 3 som svar eftersom 26.51 avrundas upp till 27 och delningsvärdet 3.51 avrundas upp till 4.

Så om du delar 27 med 4 är resten 3.

Excel MOD-funktion vs VBA MOD-operatör

Steg 1:  Ta en titt på skillnaden mellan excel och VBA MOD-operatör. Jag har ett värde på 54,24 och delningsvärdet är 10.

Steg 2:  Nu om jag använder MOD-funktionen får jag resultatet som 4.25.

Steg 3:  Men om du gör samma operation med VBA får vi 4 som resten, inte 4,25.

Koda:

 Sub MOD_Exempel2 () Dim i som heltal i = 54,25 Mod 10 MsgBox i End Sub 

Steg 4:  Kör den här koden och se vad resultatet är.

Saker att komma ihåg

  • Det är inte en funktion men det är en aritmetisk operatör.
  • Detta är avrundning och avrundar decimalvärden till skillnad från ut MOD-funktionen i kalkylfunktionen.