VBA MOD Operator - Hogyan kell használni az Excel VBA Modulo-t? (Példák)

Tartalomjegyzék

Excel VBA MOD operátor

A VBA-ban a MOD megegyezik a matematika alkalmazásával, amikor egy számot elosztunk osztójával, és emlékeztetőt kapunk ebből a felosztásból, akkor ezt a függvényt arra használjuk, hogy megkapjuk a maradékot az osztásból, ez nem a VBA függvény mint operátor.

A MOD nem más, mint a MODULO egy matematikai művelet. Pontosan megegyezik az osztással, de az eredmény kissé eltér attól, ahol az osztás veszi az osztott összeget, de a MOD az osztás fennmaradó részét. Például: Ha elosztja 21-et 2-vel, akkor az eredmény 10,50 a MOD-vel az osztás fennmaradó része, azaz 1. (A 2. szám csak 20-at oszthat, nem 21-et, tehát a maradék 1).

A normál excelben ez egy függvény, de a VBA-ban nem függvény. Ez csak matematikai operátor. Ebben a cikkben részletesen megvizsgáljuk ezt az operátort.

Szintaxis

Csak emlékeztetőül: ez nem a szintaxis függvénye. Olvasónk megértése érdekében hadd fogalmazzam meg.

1. szám MOD 2. szám (osztó)

Az 1. szám nem más, mint mi az a szám, amelyet megpróbálunk felosztani.

A 2. szám ez az osztó, azaz az 1-es számot osztani fogjuk ezzel az osztóval.

MOD az 1. / 2. szám által megadott eredmény .

Hogyan kell használni a MOD-t a VBA-ban?

1. példa

A kód megírásához kövesse az alábbi lépéseket.

1. lépés: Hozzon létre egy makrónevet.

Kód:

Sub MOD_Example1 () End Sub

2. lépés: Határozza meg az egyik változót egészként .

Kód:

Sub MOD_Example1 () Dim i egész szám vége Sub

3. lépés: Most végezze el a számítást „i = 20 MOD 2” néven.

Mint az elején elmondtam, a MOD operátor, nem függvény. Tehát a MOD szót használtam, mint plusz (+) beírása.

Kód:

Sub MOD_Example1 () Dim i Egész számként i = 21 Mod 2 End Sub

4. lépés: Most rendelje hozzá az „I” értéket az üzenetmezőhöz.

Kód:

Sub MOD_Example1 () Dim i egész számként i = 21 Mod 2 MsgBox i End Sub

5. lépés: Futtassa a kód üzenet mezőben megjelenik az „I” értéke

2. példa

A VBA-ban szereplő Mod mindig egész számot ad vissza, azaz tizedesjegyek nélkül, ha a számot tizedesben adja meg. Nézze meg például az alábbi kódot.

Kód:

Sub MOD_Example2 () Dim i egész számként i = 26.25 Mod 3 MsgBox i End Sub

A 3. osztó el tudja osztani a 24-et, tehát a maradék itt 2,25, de a MOD operátor visszaadja az egész értéket, azaz 2-t, nem 2,25-et.

Most módosítom a számot 26,51-re, és meglátom a különbséget.

Kód:

Sub MOD_Example2 () Dim i egész számként i = 26.51 Mod 3 MsgBox i End Sub

Futtatom ezt a kódot, és megnézem, mi az eredmény.

Azta!!! Nulla a válasz. Azért kaptunk nullát, mert a VBA a számokat kerekíti, mint a bankárjaink, vagyis bármely 0,5-nél nagyobb tizedespontot felfelé kerekítünk a következő egész számra. Tehát ebben az esetben a 26,51-et 27-re kerekítik.

Mivel 3 oszthatja a 27-et 9-tel, nem kapunk maradék értékeket, így az i értéke nulla.

Most megadom az osztó értékét tizedes pontokban is.

Kód:

Sub MOD_Example2 () Dim i egész számként i = 26.51 Mod 3.51 MsgBox i End Sub

6. lépés: Futtassa ezt a kódot, és nézze meg, mi az eredmény.

3-at kaptunk válaszként, mert a 26,51-et 27-re, a 3,51-es osztó értékét pedig 4-re kerekítjük.

Tehát ha 27-et osztasz 4-re, a maradék 3.

Excel MOD funkció és VBA MOD operátor

1. lépés: Most nézze meg az excel és a VBA MOD operátor közötti különbséget. Nekem 54,24 az értékem, az osztó értéke 10.

2. lépés: Most, ha a MOD funkciót alkalmazom, az eredményt 4.25-ként kapom meg.

3. lépés: De ha ugyanazt a műveletet hajtja végre a VBA-val, akkor 4-et kapunk, mint a maradékot, nem pedig 4.25-öt.

Kód:

Sub MOD_Example2 () Dim i egész számként i = 54.25 Mod 10 MsgBox i End Sub

4. lépés: Futtassa ezt a kódot, és nézze meg, mi az eredmény.

Dolgok, amikre emlékezni kell

  • Ez nem függvény, hanem számtani operátor.
  • Ez felfelé kerekíti és tízes értékeket kerekít lefelé, ellentétben a munkalap funkcióban lévő MOD függvénnyel.

érdekes cikkek...