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

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 vie loput jaosta. Esimerkiksi: Jos jaat 21 jaolla 2, tulos on 10,50 MOD: llä on loput jaosta eli 1. (Luku 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 muistuttaa, että tämä ei ole syntaksin toiminto. 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?

Voit ladata tämän VBA MOD -toimintomallin täältä - VBA MOD -toimintomalli

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 sanoin, MOD on alussa 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

Mod in vba palauttaa aina kokonaisluvun eli 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, miksi saimme nollan, koska VBA pyöristää numerot kuten pankkiirimme, ts. Kaikki desimaalipisteet, jotka ovat suurempia 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 ylöspäin 27 ja jakajaarvo 3.51 pyöristetään neljään.

Joten jos jaat 27 neljällä, loput on 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:  Nyt, jos käytän MOD-toimintoa, saan tuloksen muodossa 4.25.

Vaihe 3:  Mutta jos teet saman toiminnon VBA: n kanssa, saamme 4 kuin loput, 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 taulukkotoiminnon MOD-funktio.

$config[zx-auto] not found$config[zx-overlay] not found