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 med 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 operatör. I den här artikeln kommer vi att undersöka denna operatör i detalj.

Syntax
Bara för att påminna dig, detta är inte en funktion för att ha syntax. För vår läsares förståelse, låt mig sätta det i ordet.
Number 1 MOD Number 2 (Divisor)
Nummer 1 är inget annat än vad vi försöker dela upp.
Nummer 2 detta är delaren, dvs vi ska dela nummer 1 med denna delare.
MOD resultatet som ges av nummer 1 / nummer 2.
Hur använder jag MOD i VBA?
Exempel 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 ett 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 helvä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 är.

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: Om jag tillämpar 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.