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

Innholdsfortegnelse

Excel VBA MOD-operatør

I VBA MOD er det samme som for applikasjonen i matematikk, når et tall er delt med divisoren og vi får en påminnelse fra den divisjonen, brukes denne funksjonen til å gi oss den resten fra divisjonen, det er ikke en funksjon i VBA heller enn det er en operatør.

MOD er ​​ingenting annet enn MODULO er en matematisk operasjon. Det er nøyaktig det samme som divisjonen, men resultatet er litt annerledes der divisjon tar det delte beløpet, men MOD tar resten av divisjonen. For eksempel: Hvis du deler 21 med 2, er divisjonsresultatet 10,50 av MOD er ​​resten av divisjonen, dvs. 1. (Nummer 2 kan bare dele 20, ikke 21, så resten er 1).

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

Syntaks

Bare for å minne deg på, dette er ikke en funksjon å ha syntaks. For leserens forståelse, la meg sette det i ordet.

Nummer 1 MOD Nummer 2 (Divisor)

Nummer 1 er ikke annet enn hva er tallet vi prøver å dele.

Nummer 2 dette er deleren, dvs. vi skal dele nummer 1 med denne deleren.

MOD resultatet gitt av nummer 1 / nummer 2.

Hvordan bruke MOD i VBA?

Eksempel 1

Følg trinnene nedenfor for å skrive koden.

Trinn 1: Opprett et makronavn.

Kode:

Sub MOD_Example1 () Slutt Sub

Trinn 2: Definer en av variablene som " Heltall ".

Kode:

Sub MOD_Example1 () Dim i Som Integer End Sub

Trinn 3: Utfør nå beregningen som “i = 20 MOD 2.”

Som jeg fortalte i begynnelsen, er MOD en operatør, ikke en funksjon. Så jeg har brukt ordet MOD som hvordan jeg skriver inn et pluss (+).

Kode:

Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 End Sub

Trinn 4: Nå tilordne verdien av "I" til meldingsboksen.

Kode:

Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 MsgBox i End Sub

Trinn 5: Kjør kodemeldingsboksen vil vise verdien av "I."

Eksempel 2

Mod i VBA returnerer alltid et heltall, dvs. uten desimaler hvis du oppgir tallet i desimaler. Se for eksempel på koden nedenfor.

Kode:

Sub MOD_Example2 () Dim i As Integer 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 heltallverdien, dvs. 2, ikke 2,25.

Nå vil jeg endre tallet til 26,51 og se forskjellen.

Kode:

Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3 MsgBox i End Sub

Jeg vil kjøre denne koden og se hva resultatet er.

Wow !!! Vi har null som svar. Årsaken til at vi fikk null fordi VBA rundet tallene som bankfolkene våre gjør, dvs. et hvilket som helst desimaltegn som er større enn 0,5, blir avrundet til neste heltall. Så, i dette tilfellet er 26.51 avrundet til 27.

Siden 3 kan dele 27 med 9, vil vi ikke få noen restverdier, så verdien av i er lik null.

Nå vil jeg levere divisorverdien også i desimaltegn.

Kode:

Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3.51 MsgBox i End Sub

Trinn 6: Kjør denne koden og se hva resultatet er.

Vi fikk 3 som svar fordi 26.51 vil bli avrundet opp til 27, og delingsverdien 3.51 vil bli avrundet til 4.

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

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

Trinn 1: Ta en titt på forskjellen mellom excel og VBA MOD-operatør. Jeg har en verdi på 54,24, og delingsverdien er 10.

Trinn 2: Nå, hvis jeg bruker MOD-funksjonen, vil jeg få resultatet som 4.25.

Trinn 3: Men hvis du gjør den samme operasjonen med VBA, får vi 4 som resten, ikke 4,25.

Kode:

Sub MOD_Example2 () Dim i As Integer i = 54.25 Mod 10 MsgBox i End Sub

Trinn 4: Kjør denne koden og se hva resultatet er.

Ting å huske

  • Det er ikke en funksjon, men det er en regneoperatør.
  • Dette er avrunding og avrunder desimalverdier, i motsetning til ut MOD-funksjon i regnearkfunksjon.

Interessante artikler...