Operátor MOD VBA - Ako používať Excel VBA Modulo? (Príklady)

Operátor Excel VBA MOD

Vo VBA MOD je to isté ako s aplikáciou v matematike, keď je číslo delené jeho deliteľom a dostaneme pripomenutie z tohto rozdelenia, táto funkcia sa používa na to, aby sme dostali zvyšok z rozdelenia, nejde o funkciu vo VBA, ale o než je to operátor.

MOD nie je nič iné ako MODULO je matematická operácia. Je to úplne rovnaké ako s rozdelením, ale výsledok je mierne odlišný, keď rozdelenie zaberá rozdelenú sumu, ale MOD zaberá zvyšok rozdelenia. Napríklad: Ak rozdelíte 21 na 2 rozdelením, výsledok je 10,50 podľa MOD, čo je zvyšok rozdelenia, tj. 1. (Číslo 2 môže vydeliť iba 20, nie 21, takže zvyšok je 1).

V normálnom exceli je to funkcia, ale vo VBA to nie je funkcia. Je to iba matematický operátor. V tomto článku sa podrobne pozrieme na tohto operátora.

Syntax

Len pre pripomenutie, nejde o funkciu obsahujúcu syntax. Pre pochopenie nášho čitateľa mi dovoľte uviesť toto slovo.

Číslo 1 MOD Číslo 2 (Deliteľ)

Číslo 1 nie je nič iné ako to, čo sa snažíme rozdeliť.

Číslo 2 toto je deliteľ, tj. Vydelíme číslo 1 týmto deliteľom.

MOD výsledok daný číslom 1 / číslom 2.

Ako používať MOD vo VBA?

Príklad č

Pri písaní kódu postupujte podľa nasledujúcich pokynov.

Krok 1: Vytvorte názov makra.

Kód:

Sub MOD_Example1 () End Sub

Krok 2: Definujte jednu z premenných ako „ Celé číslo “.

Kód:

Sub MOD_Example1 () Dim i ako Integer End Sub

Krok 3: Teraz vykonajte výpočet ako „i = 20 MOD 2.“

Ako som povedal na začiatku, MOD je operátor, nie funkcia. Použil som teda slovo MOD, napríklad to, ako zadávam plus (+).

Kód:

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

Krok 4: Teraz priraďte hodnotu „I“ schránke správ.

Kód:

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

Krok 5: Spustenie okna so správou s kódom zobrazí hodnotu „I.“

Príklad č

Mod vo VBA vždy vráti celočíselnú hodnotu, tj bez desatinných miest, ak zadáte číslo v desatinných číslach. Napríklad si pozrite nasledujúci kód.

Kód:

Sub MOD_Example2 () Dim i As Integer i = 26,25 Mod 3 MsgBox i End Sub

Deliteľ 3 môže deliť 24, takže zvyšok je tu 2,25, ale operátor MOD vráti celočíselnú hodnotu, tj. 2, nie 2,25.

Teraz upravím číslo na 26,51 a uvidím rozdiel.

Kód:

Sub MOD_Example2 () Dim i As Integer i = 26,51 Mod 3 MsgBox i End Sub

Spustím tento kód a uvidím, aký bude výsledok.

Wow!!! Ako odpoveď sme dostali nulu. Dôvod, prečo sme dostali nulu, pretože VBA zaokrúhľuje čísla ako naši bankári, tj každá desatinná čiarka, ktorá je väčšia ako 0,5, sa zaokrúhli nahor na ďalšiu celočíselnú hodnotu. V tomto prípade sa teda 26,51 zaokrúhli na 27 nahor.

Pretože 3 môže rozdeliť 27 na 9, nedostaneme žiadne zvyšné hodnoty, takže hodnota i sa rovná nule.

Teraz zadám hodnotu deliteľa aj v desatinných bodoch.

Kód:

Sub MOD_Example2 () Dim i As Integer i = 26,51 Mod 3,51 MsgBox i End Sub

Krok 6: Spustite tento kód a uvidíte, aký je výsledok.

Ako odpoveď sme dostali 3, pretože 26,51 sa zaokrúhli na 27 a hodnota deliteľa 3,51 sa zaokrúhli na 4.

Ak teda vydelíte 27 4, zvyšok je 3.

Excel MOD funkcia vs. VBA MOD operátor

Krok 1: Teraz sa pozrite na rozdiel medzi operátorom Excel a VBA MOD. Mám hodnotu 54,24 a hodnota deliteľa je 10.

Krok 2: Teraz, ak použijem funkciu MOD, dostanem výsledok ako 4.25.

Krok 3: Ak ale urobíte rovnakú operáciu s VBA, dostaneme 4 ako zvyšok, nie 4,25.

Kód:

Sub MOD_Example2 () Dim i As Integer i = 54,25 Mod 10 MsgBox i End Sub

Krok 4: Spustite tento kód a uvidíte, aký je výsledok.

Na čo treba pamätať

  • Nie je to funkcia, ale je to aritmetický operátor.
  • Toto je zaokrúhlenie a zaokrúhli desatinné hodnoty nadol, na rozdiel od funkcie MOD vo funkcii listu.

Zaujímavé články...