VBA MOD -käyttäjä - Kuinka käyttää Excel VBA Moduloa? (Esimerkkejä)

Sisällysluettelo

Excel VBA MOD -käyttäjä

In VBA MOD on sama kuin sovelluksen matematiikan, kun joukko jaetaan sen jakajalla ja saamme muistutuksen jaosta, tätä toimintoa käytetään antamaan meille, että loput jako, se ei ole riippuvainen VBA pikemminkin kuin se on operaattori.

MOD ei ole muuta kuin MODULO on matemaattinen operaatio. Se on täsmälleen sama kuin jako, mutta tulos on hieman erilainen, jos jako vie jaetun määrän, mutta MOD ottaa loput jaosta. Esimerkiksi: Jos jaat 21 jaolla 2, tulos on 10,50 MOD: lla on jaon loppuosa eli 1. (Numero 2 voi jakaa vain 20, ei 21, joten loppuosa on 1).

Normaalissa Excelissä se on funktio, mutta VBA: ssa se ei ole funktio. Se on vain matemaattinen operaattori. Tässä artikkelissa tarkastelemme tätä operaattoria yksityiskohtaisesti.

Syntaksi

Vain muistuttaakseni, että tämä ei ole syntaksi. Lukijamme ymmärrystä varten anna minun laittaa se sanaan.

Numero 1 MOD Numero 2 (jakaja)

Numero 1 ei ole mitään muuta kuin mikä numero yritämme jakaa.

Numero 2 tämä on jakaja, eli aiomme jakaa Numero 1 tällä jakajalla.

MOD : n numero 1 / numero 2 antama tulos .

Kuinka käyttää MOD: tä VBA: ssa?

Esimerkki 1

Kirjoita koodi noudattamalla seuraavia ohjeita.

Vaihe 1: Luo makron nimi.

Koodi:

Sub MOD_Example1 () End Sub

Vaihe 2: Määritä yksi muuttujista kokonaislukuna .

Koodi:

Sub MOD_Example1 () Dim i kokonaisloppuna Sub

Vaihe 3: Suorita nyt laskenta muodossa "i = 20 MOD 2."

Kuten kerroin alussa, MOD on operaattori, ei funktio. Joten olen käyttänyt sanaa MOD kuten kuinka kirjoitan plus (+).

Koodi:

Sub MOD_Example1 () Dim i kokonaislukuna i = 21 Mod 2 End Sub

Vaihe 4: Määritä nyt I-arvon arvo viestiruutuun.

Koodi:

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

Vaihe 5: Suorita koodiviestiruutu näyttää arvon I.

Esimerkki 2

VBA: n mod palauttaa aina kokonaisluvun, ts. Ilman desimaaleja, jos annat luvun desimaaleina. Katso esimerkiksi alla oleva koodi.

Koodi:

Sub MOD_Example2 () Dim i kokonaislukuna i = 26.25 Mod 3 MsgBox i End Sub

Jakaja 3 voi jakaa 24, joten loppuosa tässä on 2,25, mutta MOD-operaattori palauttaa kokonaisluvun eli 2, ei 2,25.

Muutan nyt numeroksi 26,51 ja näen eron.

Koodi:

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

Suoritan tämän koodin ja näen mitä tulos on.

Vau!!! Meillä on vastaus nolla. Syy siihen, että saimme nollan, koska VBA pyöristää numerot kuten pankkiirimme, eli mikä tahansa desimaalipiste, joka on suurempi kuin 0,5, pyöristetään ylöspäin seuraavaan kokonaislukuun. Joten tässä tapauksessa 26,51 pyöristetään 27: een.

Koska 3 voi jakaa 27: n 9: llä, emme saa jäännösarvoja, joten i: n arvo on nolla.

Annan nyt jakajan arvon myös desimaalipisteinä.

Koodi:

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

Vaihe 6: Suorita tämä koodi ja katso tulos.

Saimme 3 vastauksena, koska 26.51 pyöristetään 27: een ja jakoarvo 3.51 pyöristetään neljään.

Joten jos jaat 27 neljällä, loput ovat 3.

Excel MOD -toiminto vs. VBA MOD -käyttäjä

Vaihe 1: Katsokaa nyt eroa Excelin ja VBA MOD -operaattorin välillä. Minulla on arvo 54,24 ja jakajan arvo on 10.

Vaihe 2: Jos sovellan MOD-toimintoa, saan tulokseksi 4.25.

Vaihe 3: Mutta jos teet saman toiminnon VBA: n kanssa, saamme loput 4, ei 4.25.

Koodi:

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

Vaihe 4: Suorita tämä koodi ja katso tulos.

Muistettavaa

  • Se ei ole funktio, mutta se on aritmeettinen operaattori.
  • Tämä on pyöristetty ja pyöristää desimaaliarvot alaspäin, toisin kuin taulukkofunktion MOD-funktio.

Mielenkiintoisia artikkeleita...