VBA MOD-operatør - Hvordan bruges Excel VBA Modulo? (Eksempler)

Indholdsfortegnelse

Excel VBA MOD-operatør

I VBA MOD er det samme som applikationen i matematik, når et tal divideres med dets skillevæg, og vi får en påmindelse fra denne division, bruges denne funktion til at give os den resterende del fra divisionen, det er ikke en funktion i VBA snarere end det er en operatør.

MOD er ​​intet andet end MODULO er en matematisk operation. Det er nøjagtigt det samme som divisionen, men resultatet er lidt anderledes, hvor division tager det delte beløb, men MOD tager resten af ​​divisionen. For eksempel: Hvis du dividerer 21 med 2, er divisionsresultatet 10,50 ved MOD er ​​resten af ​​divisionen, dvs. 1. (Nummer 2 kan kun dividere 20, ikke 21, så resten er 1).

I det normale excel er det en funktion, men i VBA er det ikke en funktion. Det er bare en matematisk operatør. I denne artikel vil vi se nærmere på denne operatør.

Syntaks

Bare for at minde dig om, dette er ikke en funktion til at have syntaks. Af hensyn til vores læsers forståelse, lad mig sætte det i ordet.

Nummer 1 MOD nummer 2 (skillevæg)

Nummer 1 er intet andet end hvad er det nummer, vi prøver at dele.

Nummer 2 dette er skillevæggen, dvs. vi vil dele nummer 1 med denne skillevæg.

MOD resultatet givet af nummer 1 / nummer 2.

Hvordan bruges MOD i VBA?

Eksempel nr. 1

Følg nedenstående trin for at skrive koden.

Trin 1: Opret et makronavn.

Kode:

Sub MOD_Example1 () Afslut Sub

Trin 2: Definer en af ​​variablerne som " Heltal ".

Kode:

Sub MOD_Example1 () Dim i Som Integer End Sub

Trin 3: Udfør nu beregningen som "i = 20 MOD 2."

Som jeg fortalte i starten, er MOD en operatør, ikke en funktion. Så jeg har brugt ordet MOD som hvordan jeg indtaster et plus (+).

Kode:

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

Trin 4: Tildel nu værdien af ​​"I" til meddelelsesboksen.

Kode:

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

Trin 5: Kør kodebeskedfeltet viser værdien af ​​"I."

Eksempel 2

Mod i VBA returnerer altid et heltal, dvs. uden decimaler, hvis du angiver tallet i decimaler. Se f.eks. Nedenstående kode.

Kode:

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

Divisor 3 kan dele 24, så resten her er 2,25, men MOD-operatøren returnerer heltalsværdien, dvs. 2, ikke 2,25.

Nu vil jeg ændre tallet til 26,51 og se forskellen.

Kode:

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

Jeg kører denne kode og ser, hvad resultatet er.

Wow !!! Vi har nul som svar. Årsagen til, at vi fik nul, fordi VBA rundede tallene, som vores bankfolk gør, dvs. ethvert decimaltegn, der er større end 0,5, afrundes op til næste heltal. Så i dette tilfælde afrundes 26,51 op til 27.

Da 3 kan dele 27 med 9, får vi ingen restværdier, så værdien af ​​i er lig med nul.

Nu vil jeg give divisorværdien også i decimaler.

Kode:

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

Trin 6: Kør denne kode og se, hvad resultatet er.

Vi fik 3 som svar, fordi 26.51 afrundes op til 27, og skilleværdien 3.51 afrundes op til 4.

Så hvis du deler 27 med 4, er resten 3.

Excel MOD-funktion vs. VBA MOD-operatør

Trin 1: Se nu forskellen mellem excel og VBA MOD-operatør. Jeg har en værdi på 54,24, og divisorværdien er 10.

Trin 2: Hvis jeg anvender MOD-funktionen, får jeg resultatet som 4.25.

Trin 3: Men hvis du udfører den samme operation med VBA, får vi 4 som resten, ikke 4,25.

Kode:

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

Trin 4: Kør denne kode og se, hvad resultatet er.

Ting at huske

  • Det er ikke en funktion, men det er en aritmetisk operator.
  • Dette er afrunding og afrunder decimalværdier, i modsætning til ud MOD-funktionen i regnearksfunktionen.

Interessante artikler...