Jak používat operátor Mod VBA (9 příkladů)

  • Sdílet Toto
Hugh West

Na stránkách Modul VBA není funkcí, zatímco MOD je funkce v pracovním listu aplikace Excel. Modul VBA je operátor, který dělí dvě čísla a vrací hodnotu zbytek . Provozovatel Mod je zkrácený tvar MODULO který se používá při matematických operacích. Mod operátoři zaokrouhlit na plovoucí desetinná čárka .

V tomto článku vám ukážu různé příklady použití aplikace Excel. Modul VBA provozovatel.

Stáhnout do praxe

Příklady VBA Mod Operator.xlsm

Základy funkce VBA Mod: Shrnutí & Syntaxe

Souhrn

Na stránkách Modul VBA operátor dělí dvě čísla a vrací zbytek . Kde je jeden známý jako dělitel další je číslo . Mod operátor rozděluje číslo podle dělitel .

Syntaxe

Číslo1 Mod Číslo2 (dělitel)

Argumenty

Argumenty Povinné/volitelné Vysvětlení
Číslo1 Požadované Jedná se o číselné výraz
Číslo2 Požadované Jedná se o číselné výraz

Návratová hodnota

Na stránkách Modul VBA vrací operátor zbytek .

Verze

Na stránkách Modul VBA je k dispozici pro aplikaci Excel 2000 a novější.

Používám Excel Microsoft 365 k implementaci těchto příkladů.

9 příkladů použití funkce VBA Mod v aplikaci Excel

1. Použití modulu VBA k získání zbytku

Pokud chcete, můžete si zbytek pomocí Modul VBA provozovatel.

Dovolte mi, abych vám vysvětlil postup,

Začněte tím, že otevřete Vývojář karta>> vybrat Visual Basic .

➤ Nyní se zobrazí nové okno Microsoft Visual Basic pro aplikace se objeví.

Dále od Vložte >> vybrat Modul

Nyní zadejte následující kód do pole Modul .

 Sub Get_Reminder() Dim n As Integer n = 29 Mod 3 MsgBox " 29 Mod 3 is " & n End Sub 

Zde, v Get_Reminder jsem deklaroval proměnnou n jako Celé číslo a použil ji k uchování vrácené hodnoty parametru Mod provozovatel.

Pak použil MsgBox zobrazit zbytek .

Nyní, Uložit kód a vraťte se na pracovní list.

Opět otevřete Vývojář karta>> od Vložte >> vybrat Tlačítko z Ovládací prvky formuláře

Nyní, Drag na Tlačítko umístit na místo, kde chcete titulek uvést.

Poté můžete tlačítko pojmenovat.

➤ Pojmenoval jsem ji Získat připomenutí .

⏩ Nyní, kliknutí pravým tlačítkem myši kontextovou nabídku Přiřazení Makro se objeví.

Odtud vyberte Přiřazení makra .

⏩ A dialogové okno z Přiřazení makra se objeví.

Poté vyberte Název makra a Makra v .

⏩ Vybral jsem Get_Reminder z Název makra a vybrané VBA Mod.xlsm z Makra v .

Nakonec klikněte na OK .

Poté klikněte na tlačítko s názvem Get_Reminder .

Proto se zobrazí pole msg s zbytek .

Můžete to udělat pro všechny čísla abyste získali zbytek .

Přečtěte si více: Formátovací funkce VBA v aplikaci Excel (8 použití s příklady)

2. Použití odkazu na buňku v modulu VBA k získání zbytku

Pomocí Odkaz na buňku z listu Excelu, můžete získat zbytek z Modul VBA .

Otevření VBA editoru postupujte podle pokynů uvedených v části 1.

Poté zadejte následující kód do pole Modul .

 Sub Reminder_Using_CellReference() Dim n As Integer n = Range("B4").Value Mod Range("C4").Value MsgBox Range("B4").Value & " Mod " & Range("C4").Value & " is " & n End Sub 

Zde, v Reminder_Using_CellReference , jsem deklaroval proměnnou n jako Celé číslo a použil ji k uchování vrácené hodnoty parametru Mod provozovatel.

Dále použijte odkaz na buňku B4 jako číslo1 a C4 jako číslo2 (dělitel)

Pak použil MsgBox zobrazit zbytek .

Nyní, Uložit kód a vraťte se na pracovní list.

Vložení Tlačítko , postupujte podle pokynů uvedených v části 1.

➤ Tlačítko jsem pojmenoval Odkaz na buňku .

Poté klikněte na Tlačítko spustit VBA kód.

Proto získáte zbytek pro použitý odkaz na buňku.

Související obsah: Jak vrátit hodnotu ve funkci VBA (hodnoty v poli i jiné než pole)

3. Použití modulu VBA k získání zbytku ze záporného čísla

Na stránkách Modul VBA podporuje také negativní čísla při výpočtu zbytek .

Otevření VBA editoru postupujte podle pokynů uvedených v části 1.

Poté zadejte následující kód do pole Modul .

 Sub Reminder_From_NegativeNumber() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Zde, v Reminder_From_NegativeNumber, Deklaroval jsem proměnnou n jako Celé číslo a použil ji k uchování vrácené hodnoty parametru Mod provozovatel.

Dále použijte odkaz na buňku B5 jako číslo1 a C5 jako číslo2 (dělitel)

Pak použil MsgBox zobrazit zbytek .

Nyní, Uložit kód a vraťte se na pracovní list.

Vložení Tlačítko, postupujte podle pokynů uvedených v části 1.

➤ Tlačítko jsem pojmenoval Připomínka z negativního čísla .

Poté klikněte na Tlačítko spustit VBA kód.

Proto získáte zbytek pro záporné číslo .

Přečtěte si více: Jak používat funkci IsNumeric ve VBA (9 příkladů)

4. Použití modulu VBA k získání zbytku v buňce

Namísto zobrazení zbytek prostřednictvím msg box můžete umístit do buňky pomocí příkazu MOD VBA funkce.

Otevření VBA editoru postupujte podle pokynů uvedených v části 1.

Poté zadejte následující kód do pole Modul .

 Sub Reminder_in_Cell() ActiveCell.FormulaR1C1 = "=MOD(RC[-2],RC[-1])" Range("D4").Select End Sub 

Zde, v s ub-procedura Reminder_in_Cell , použil jsem ActiveCell.FormulaR1C1 formát pro získání pozice ActiveCell .

Pak použil MOD funkce pro získání zbytek .

Také použil Vyberte metoda.

Nyní, Uložit kód a vraťte se na pracovní list.

Vložení Tlačítko a přiřadit na VBA kód postupujte podle pokynů uvedených v části 1.

➤ Tlačítko jsem pojmenoval Připomínka v buňce .

Dále vyberte D4 buňka.

Poté klikněte na Tlačítko spustit VBA kód.

Díky tomu získáte zbytek ve vybrané buňce.

Stejným postupem získáte. zbytek pro ostatní čísla.

Přečtěte si více: Jak používat funkci MsgBox v aplikaci Excel VBA (kompletní návod)

5. Použití modulu VBA s celočíselným dělitelem &; plovoucím číslem

V případě, že vaše dělitel je celé číslo typ, ale vaše číslo je v float pak můžete použít typ Modul VBA provozovatel.

Otevření VBA editoru postupujte podle pokynů uvedených v části 1.

Poté zadejte následující kód do pole Modul .

 Sub Reminder_From_Decimal_Number() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Zde, ve skupině R eminder_From_Decimal_Number dílčí postup, Deklaroval jsem proměnnou n jako Celé číslo a použil ji k uchování vrácené hodnoty parametru Mod provozovatel.

Dále použijte odkaz na buňku B5 jako číslo1 a C5 jako číslo2 (dělitel)

Pak použil MsgBox zobrazit zbytek .

Nyní, Uložit kód a vraťte se na pracovní list.

Vložení Tlačítko , postupujte podle pokynů uvedených v části 1.

➤ Tlačítko jsem pojmenoval Připomínka z desetinného čísla .

Poté klikněte na Tlačítko spustit VBA kód.

Proto získáte zbytek pro desetinné číslo .

Existuje však problém, který VBA zaokrouhluje nahoru . desetinné číslo Zde měl být výsledek 2.25 ale Modul VBA zaokrouhlil na 2 .

Nezapomeňte, že pokud některý desetinné/plovoucí je větší než 0.5 v Modul VBA pak bude zaokrouhleno nahoru na další celočíselnou hodnotu.

Pokud je menší než 0.5 v Modul VBA , pak bude zaokrouhleno nahoru na stávající hodnotu celého čísla.

Přečtěte si více: Jak používat funkci VBA Int v aplikaci Excel ( 3 příklady)

Podobné čtení:

  • Jak používat funkci IsNull v Excelu VBA (5 příkladů)
  • Použití funkce VBA Str v aplikaci Excel (4 příklady)
  • Jak používat funkci přepínače VBA (6 vhodných příkladů)
  • Použití funkce VBA Len v aplikaci Excel (4 příklady)
  • Jak odstranit duplikáty v listu aplikace Excel (7 metod)

6. Použití modifikace VBA, když jsou dělitel &; číslo i desetinná čísla

Pokud vaše dělitel a číslo obě jsou v decimal/float pak můžete použít také typ Modul VBA provozovatel.

Otevření VBA editoru postupujte podle pokynů uvedených v části 1.

Poté zadejte následující kód do pole Modul .

 Sub Decimal_Both_Divisor_Number() Dim n As Integer n = Range("B5").Value Mod Range("C5").Value MsgBox Range("B5").Value & " Mod " & Range("C5").Value & " is " & n End Sub 

Zde, v dílčí procedura Decimal_Both_Divisor_Number, Deklaroval jsem proměnnou n jako Celé číslo a použil ji k uchování vrácené hodnoty parametru Mod provozovatel.

Dále použijte odkaz na buňku B5 jako číslo1 a C5 jako číslo2 (dělitel)

Pak použil MsgBox zobrazit zbytek .

Nyní, Uložit kód a vraťte se na pracovní list.

Vložení Tlačítko, postupujte podle pokynů uvedených v části 1.

➤ Tlačítko jsem pojmenoval Získat Připomínka z článku Když dělitel & amp; Desetinné číslo .

Poté klikněte na Tlačítko spustit VBA kód.

Proto získáte zbytek pro oba desetinný dělitel a čísla .

Existuje však problém, který VBA zaokrouhluje nahoru desetinné číslo Zde měl být výsledek 1.75 ale Modul VBA zaokrouhlil na 2 .

Související obsah: Funkce VBA EXP v aplikaci Excel (5 příkladů)

7. Modul VBA pro zaokrouhlení desetinného čísla většího než 0,5

Zde vám ukážu, jak zaokrouhlit pracuje v Modul VBA .

Aby vám ukázal. desetinné číslo bodový problém, nejprve vypočítám zbytek pomocí aplikace Excel MOD funkce.

V buňce D4 , zadejte následující vzorec,

=MOD(B6, C6)

Zde jsem použil B6 jako číslo C6 jako dělitel .

Pak stiskněte tlačítko ENTER abyste získali zbytek a získáte zbytek která bude 7.7 .

Nyní provedeme výpočet VBA Mod , abyste otevřeli VBA editor postupujte podle pokynů uvedených v části 1.

Poté zadejte následující kód do pole Modul .

 Sub RoundsUp_Number() Dim n As Integer n = Range("B6").Value Mod Range("C6").Value MsgBox Range("B6").Value & " Mod " & Range("C6").Value & " is " & n End Sub 

Zde, v dílčí procedura Decimal_Both_Divisor_Number, Deklaroval jsem proměnnou n jako Celé číslo a použil ji k uchování vrácené hodnoty parametru Mod provozovatel.

Dále použijte odkaz na buňku B6 jako číslo1 a C6 jako číslo2 (dělitel)

Pak použil MsgBox zobrazit zbytek .

Nyní, Uložit kód a vraťte se na pracovní list.

Vložení Tlačítko , postupujte podle pokynů uvedených v části 1.

➤ Tlačítko jsem pojmenoval RoundsUp Desetinné číslo .

Poté klikněte na Tlačítko spustit VBA kód.

Proto získáte zbytek pro použitý odkaz na buňku.

Podívejte se pozorně na zbytek že Modul VBA vrátil. MOD funkce pro stejné vrácené hodnoty 7.7 ale Modul VBA vrácený operátor 0 . Jak VBA zaokrouhlení hodnot.

Přečtěte si více: Jak používat funkci VBA Round v aplikaci Excel (6 rychlých použití)

8. Určete sudé nebo liché číslo

Na stránkách Modul VBA určuje také Dokonce i nebo Zvláštní číslo z daného rozsahu.

Otevření VBA editoru postupujte podle pokynů uvedených v části 1.

Poté zadejte následující kód do pole Modul .

 Sub Determine_Even_Or_Odd() Dim n As Integer For n = Range("B4").Value To Range("B8").Value If n Mod 2 = 0 Then MsgBox n & " je sudé číslo!" Else MsgBox n & " je liché číslo!" End If Next n End Sub 

Zde, v dílčí procedura Determine_Even_Or_Odd, Deklaroval jsem proměnnou n jako Celé číslo .

Pak jsem použil Pro smyčku, kde jsem uchovával hodnotu, kterou jsem deklaroval prostřednictvím odkazu na buňku.

Dále jsem použil IF funkci, kde jsem nastavil kritéria jako n Mod 2 = 0 pokud je hodnota true, pak vrátí hodnotu Dokonce i jinak výrok Zvláštní .

Pak použil MsgBox zobrazit prohlášení .

Nyní, Uložit kód a vraťte se na pracovní list.

Vložení Tlačítko , postupujte podle pokynů uvedených v části 1.

➤ Tlačítko jsem pojmenoval Sudá nebo lichá .

Poté klikněte na Tlačítko spustit VBA kód.

Proto se dozvíte, která hodnota je Dokonce i a který z nich je Zvláštní .

Zde, 1 je Zvláštní číslo.

Zde, 2 je Dokonce i číslo.

Přečtěte si více: Příkazy VBA If - Then - Else v aplikaci Excel (4 příklady)

9. Použití rozsahu buněk v modulu VBA k získání zbytku

Můžete také použít rozsah buněk abyste získali zbytek pomocí Modul VBA .

Otevření VBA editoru postupujte podle pokynů uvedených v části 1.

Poté zadejte následující kód do pole Modul .

 Sub Get_Reminder_UsingVBA() Dim n As Integer For n = 4 To 9 MsgBox Cells(n, 2).Value Mod Cells(n, 3) Next n End Sub 

Zde, v Dílčí procedura Get_Reminder_UsingVBA, Deklaroval jsem proměnnou n jako Celé číslo .

Pak jsem použil Pro smyčka, kde jsem zachoval hodnotu, kterou jsem deklaroval prostřednictvím odkazu na buňku. Smyčka bude fungovat pro hodnoty z řádků. 4 na 9 .

Pak použil MsgBox zobrazit zbytek .

Nyní, Uložit kód a vraťte se na pracovní list.

Vložení Tlačítko , postupujte podle pokynů uvedených v části 1.

➤ Tlačítko jsem pojmenoval Dynamický odkaz na buňku .

Poté klikněte na Tlačítko spustit VBA kód.

Proto získáte zbytek pro všechny použité hodnoty jednu po druhé.

První z nich je určen pro číslo 29 kde je dělitel je 3 .

Druhý je určen pro číslo -47 kde je dělitel je 5 .

Smyčka bude pracovat, dokud nedosáhne řádku 9 . Pátý je určen pro číslo 59 kde je dělitel je 6 .

Související obsah: Jak používat funkci VBA Randomize v aplikaci Excel (5 příkladů)

Rozdíl mezi modem Excel MOD a modem VBA

Ačkoli ve většině případů jsou návratové hodnoty stejné pro MOD a funkce Modul VBA přesto se v některých případech výsledek liší. Ukážu vám, jaký je mezi nimi rozdíl.

MOD Funkce Modul VBA Operátor
Na stránkách MOD funkce vrací obě Celé číslo a Desetinné číslo čísla. Mod operátor vrací pouze Celé číslo čísla.
Při použití negativní číslo v MOD nevrací záporné znaménko . Podporuje negativní a poté vrátí čísla záporné znaménko .

Na co nezapomenout

🔺 Operátor zaokrouhlí desetinné/plovoucí bodů.

Praktická část

V pracovním sešitě jsem přiložila cvičný list k procvičení těchto vysvětlených příkladů.

Závěr

V tomto článku jsem uvedl 9 příkladů aplikace Excel. Modul VBA operátoru. Snažil jsem se také popsat důvody, proč se chyby zobrazují často. Spolu s věcmi, které budete muset mít na paměti při používání operátoru. Neváhejte se vyjádřit níže k jakýmkoli typům dotazů a návrhů.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.