Operátor VBA MOD | Jak používat Excel VBA Modulo? (Příklady)

Operátor Excel VBA MOD

Ve VBA MOD je to stejné jako s aplikací v matematice, když je číslo rozděleno jeho dělitelem a dostaneme připomínku od tohoto dělení, tato funkce se používá k tomu, aby nám dal zbytek z dělení, není to funkce ve VBA, ale než je to operátor.

MOD není nic jiného než MODULO je matematická operace. Je to přesně stejné jako u dělení, ale výsledek se mírně liší, když dělení bere dělenou částku, ale MOD přebírá zbytek dělení. Například: Pokud vydělíte 21 dělením 2, výsledkem je 10,50, MOD je zbytek dělení, tj. 1. (Číslo 2 může dělit pouze 20, ne 21, takže zbytek je 1).

V normálním excelu je to funkce, ale ve VBA to není funkce, je to jen matematický operátor. V tomto článku se podrobně podíváme na tohoto operátora.

Syntax

Jen pro připomenutí, toto není funkce, která má syntaxi. Pro pochopení našeho čtenáře mi dovolte, abych to uvedl do slova.

 Číslo 1 MOD Číslo 2 (dělitel) 

Číslo 1 není nic jiného než číslo, které se snažíme rozdělit.

Číslo 2, toto je dělitel, tj. Vydělíme číslo 1 tímto dělitelem.

MOD výsledek daný číslem 1 / číslem 2.

Jak používat MOD ve VBA?

Tuto šablonu funkcí VBA MOD si můžete stáhnout zde - Šablona funkcí VBA MOD

Příklad č. 1

Při psaní kódu postupujte podle následujících kroků.

Krok 1: Vytvořte název makra.

Kód:

 Sub MOD_Example1 () End Sub 

Krok 2: Definujte jednu z proměnných jako „ Celé číslo “.

Kód:

 Sub MOD_Example1 () Dim i jako Integer End Sub 

Krok 3: Nyní proveďte výpočet jako „i = 20 MOD 2“

Jak jsem řekl, na začátku je MOD operátor, nikoli funkce. Použil jsem tedy slovo MOD, jako když zadám plus (+).

Kód:

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

Krok 4: Nyní přiřaďte do pole se zprávou hodnotu „I“.

Kód:

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

Krok 5: Spustit okno se zprávou s kódem zobrazí hodnotu „I“.

Příklad č. 2

Mod ve vba vždy vrátí celočíselnou hodnotu, tj. Bez desetinných míst, pokud zadáte číslo v desetinných číslech. Podívejte se například na níže uvedený kód.

Kód:

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

Dělitel 3 může dělit 24, takže zbytek je zde 2,25, ale operátor MOD vrátí celočíselnou hodnotu, tj. 2, nikoli 2,25.

Nyní upravím číslo na 26,51 a uvidím rozdíl.

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, jaký je výsledek.

Páni!!! Jako odpověď máme nulu. Důvod, proč jsme dostali nulu, protože VBA zaokrouhluje čísla jako naši bankéři, tj. Jakákoli desetinná čárka, která je větší než 0,5, se zaokrouhlí nahoru na další celočíselnou hodnotu. V tomto případě je tedy 26,51 zaokrouhleno na 27.

Protože 3 může dělit 27 na 9, nezískáme žádné zbývající hodnoty, takže hodnota i se rovná nule.

Nyní zadám hodnotu dělitele také v desetinných bodech.

Kód:

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

Krok 6: Spusťte tento kód a podívejte se, jaký je výsledek.

Jako odpověď jsme dostali 3, protože 26,51 bude zaokrouhleno na 27 a hodnota dělitele 3,51 bude zaokrouhleno na 4.

Takže pokud vydělíte 27 čtyřmi, zbytek je 3.

Excel MOD Function vs VBA MOD Operator

Krok 1:  Nyní se podívejte na rozdíl mezi operátorem Excel a VBA MOD. Mám hodnotu 54,24 a hodnota dělitele je 10.

Krok 2:  Nyní, když použiji funkci MOD, dostanu výsledek jako 4.25.

Krok 3:  Pokud ale provedete stejnou operaci s VBA, dostaneme 4 jako zbytek, nikoli 4,25.

Kód:

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

Krok 4:  Spusťte tento kód a podívejte se, jaký je výsledek.

Věci k zapamatování

  • Není to funkce, ale je to aritmetický operátor.
  • Toto je zaokrouhlování a zaokrouhluje desítkové hodnoty na rozdíl od funkce MOD ve funkci listu.