Ako používať operátor Mod VBA (9 príkladov)

  • Zdieľajte To
Hugh West

Stránka Modul VBA nie je funkcia, zatiaľ čo MOD je funkcia v pracovnom hárku programu Excel. Modul VBA je operátor, ktorý delí dve čísla a vracia zvyšok . Prevádzkovateľ Mod je skrátená forma MODULO ktorý sa používa pri matematických operáciách. Mod operátori zaokrúhliť . plávajúca desatinná čiarka .

V tomto článku vám ukážem rôzne príklady použitia aplikácie Excel Modul VBA prevádzkovateľ.

Stiahnutie do praxe

Príklady VBA Mod Operator.xlsm

Základy funkcie VBA Mod: Zhrnutie & Syntax

Zhrnutie

Stránka Modul VBA operátor delí dve čísla a vracia zvyšok . Kde je jeden známy ako deliteľ ďalším je číslo . Mod operátor rozdeľuje číslo podľa deliteľ .

Syntax

Číslo1 Mod Číslo2 (deliteľ)

Argumenty

Argumenty Povinné/voliteľné Vysvetlenie
Číslo1 Požadované Je to číselné výraz
Číslo2 Požadované Je to číselné výraz

Návratová hodnota

Stránka Modul VBA operátor vracia zvyšok .

Verzia

Stránka Modul VBA je k dispozícii pre Excel 2000 a novšie verzie.

Používam Excel Microsoft 365 na implementáciu týchto príkladov.

9 príkladov použitia funkcie VBA Mod v programe Excel

1. Použitie modulu VBA na získanie zvyšku

Ak chcete, môžete si zvyšok pomocou Modul VBA prevádzkovateľ.

Dovoľte mi, aby som vám vysvetlil postup,

Na začiatok otvorte Vývojár karta>> vybrať Visual Basic .

➤ Teraz sa zobrazí nové okno Microsoft Visual Basic pre aplikácie sa objaví.

Ďalej od Vložte >> vybrať Modul

Teraz zadajte nasledujúci kód do Modul .

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

Tu, v Get_Reminder som deklaroval premennú n ako Celé číslo a použil ho na uchovanie vrátenej hodnoty Mod prevádzkovateľ.

Potom použil MsgBox na zobrazenie zvyšok .

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Opäť otvorte Vývojár karta>> od Vložte >> vybrať Tlačidlo z adresy Ovládacie prvky formulára

Teraz, Drag . Tlačidlo a umiestnite ho na miesto, kde chcete uviesť nadpis.

Potom môžete dať tlačidlu názov.

➤ Nazval som ho Získajte pripomienku .

⏩ Teraz, kliknutie pravým tlačidlom myši kontextovú ponuku Priradenie Makro sa objaví.

Odtiaľ vyberte Priradenie makra .

⏩ A dialógové okno z Priradenie makra sa objaví.

Potom vyberte Názov makra a Makrá v .

⏩ Vybral som Get_Reminder z Názov makra a vybrané VBA Mod.xlsm z adresy Makrá v .

Nakoniec kliknite na tlačidlo OK .

Potom kliknite na tlačidlo s názvom Get_Reminder .

Preto sa zobrazí pole msg s zvyšok .

Môžete to urobiť pre všetky čísla získať zvyšok .

Prečítajte si viac: Funkcia formátu VBA v programe Excel (8 použití s príkladmi)

2. Použitie odkazu na bunku v module VBA na získanie zvyšku

Pomocou Odkaz na bunku z hárku Excelu, môžete získať zvyšok z Modul VBA .

Otvorenie VBA editora, postupujte podľa krokov vysvetlených v časti 1.

Potom zadajte nasledujúci kód do 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 

Tu, v Reminder_Using_CellReference , som deklaroval premennú n ako Celé číslo a použil ho na uchovanie vrátenej hodnoty Mod prevádzkovateľ.

Ďalej použite odkaz na bunku B4 ako číslo1 a C4 ako číslo2 (deliteľ)

Potom použil MsgBox na zobrazenie zvyšok .

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Vloženie Tlačidlo , postupujte podľa krokov vysvetlených v časti 1.

➤ Tlačidlo som pomenoval Odkaz na bunku .

Potom kliknite na Tlačidlo spustiť VBA kód.

Preto získate zvyšok pre použitý odkaz na bunku.

Súvisiaci obsah: Ako vrátiť hodnotu vo funkcii VBA (hodnoty v poli aj iné hodnoty)

3. Použitie modulu VBA na získanie zvyšku zo záporného čísla

Stránka Modul VBA podporuje aj negatívne čísla pri výpočte zvyšok .

Otvorenie VBA editora, postupujte podľa krokov vysvetlených v časti 1.

Potom zadajte nasledujúci kód do poľa 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 

Tu, v Reminder_From_NegativeNumber, Deklaroval som premennú n ako Celé číslo a použil ho na uchovanie vrátenej hodnoty Mod prevádzkovateľ.

Ďalej použite odkaz na bunku B5 ako číslo1 a C5 ako číslo2 (deliteľ)

Potom použil MsgBox na zobrazenie zvyšok .

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Vloženie Tlačidlo, postupujte podľa krokov vysvetlených v časti 1.

➤ Tlačidlo som pomenoval Pripomienka z negatívneho čísla .

Potom kliknite na Tlačidlo spustiť VBA kód.

Preto získate zvyšok pre záporné číslo .

Prečítajte si viac: Ako používať funkciu IsNumeric vo VBA (9 príkladov)

4. Použitie modulu VBA na získanie zvyšku v bunke

Namiesto zobrazenia zvyšok prostredníctvom msg box ho môžete umiestniť do bunky pomocou MOD VBA funkcie.

Otvorenie VBA editora, postupujte podľa krokov vysvetlených v časti 1.

Potom zadajte nasledujúci kód do Modul .

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

Tu, v s ub-procedúra Reminder_in_Cell , použil som ActiveCell.FormulaR1C1 formát na získanie pozície ActiveCell .

Potom použite MOD funkciu na získanie zvyšok .

Tiež použil Vyberte metóda.

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Vloženie Tlačidlo a priradiť . VBA kód postupujte podľa krokov vysvetlených v časti 1.

➤ Tlačidlo som pomenoval Pripomienka v bunke .

Potom vyberte D4 bunky.

Potom kliknite na Tlačidlo spustiť VBA kód.

V dôsledku toho získate zvyšok vo vybranej bunke.

Rovnakým postupom získate zvyšok pre ostatné čísla.

Prečítajte si viac: Ako používať funkciu MsgBox v programe Excel VBA (kompletný návod)

5. Používanie modulu VBA s celočíselným deliteľom & Float Number

V prípade, že váš deliteľ je celé číslo typ, ale váš číslo je v float potom môžete použiť typ Modul VBA prevádzkovateľ.

Otvorenie VBA editora, postupujte podľa krokov vysvetlených v časti 1.

Potom zadajte nasledujúci kód do 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 

V tomto prípade v R eminder_From_Decimal_Number podprocedúra, Deklaroval som premennú n ako Celé číslo a použil ho na uchovanie vrátenej hodnoty Mod prevádzkovateľ.

Ďalej použite odkaz na bunku B5 ako číslo1 a C5 ako číslo2 (deliteľ)

Potom použil MsgBox na zobrazenie zvyšok .

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Vloženie Tlačidlo , postupujte podľa krokov vysvetlených v časti 1.

➤ Tlačidlo som pomenoval Pripomienka z desatinného čísla .

Potom kliknite na Tlačidlo spustiť VBA kód.

Preto získate zvyšok pre desatinné číslo .

Existuje však problém, ktorý VBA zaokrúhľuje nahor . desatinné číslo Tu mal byť výsledok 2.25 ale Modul VBA zaokrúhlil na 2 .

Pamätajte, že ak niektorý desatinné/plávajúce bod je väčší ako 0.5 v Modul VBA potom to bude zaokrúhlené nahor na najbližšiu celočíselnú hodnotu.

Ak je menšia ako 0.5 v Modul VBA , potom to bude zaokrúhlené nahor na existujúcu celočíselnú hodnotu.

Prečítajte si viac: Ako používať funkciu VBA Int v programe Excel ( 3 príklady)

Podobné čítanie:

  • Ako používať funkciu IsNull v programe Excel VBA (5 príkladov)
  • Používanie funkcie VBA Str v programe Excel (4 príklady)
  • Ako používať funkciu prepínača VBA (6 vhodných príkladov)
  • Používanie funkcie VBA Len v programe Excel (4 príklady)
  • Ako odstrániť duplikáty v hárku programu Excel (7 metód)

6. Použitie modulu VBA, keď sú deliteľ &; číslo aj desatinné čísla

Ak váš deliteľ a číslo obe sú v decimal/float potom môžete použiť aj typ Modul VBA prevádzkovateľ.

Otvorenie VBA editora, postupujte podľa krokov vysvetlených v časti 1.

Potom zadajte nasledujúci kód do 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 

Tu, v čiastková procedúra Decimal_Both_Divisor_Number, Deklaroval som premennú n ako Celé číslo a použil ho na uchovanie vrátenej hodnoty Mod prevádzkovateľ.

Ďalej použite odkaz na bunku B5 ako číslo1 a C5 ako číslo2 (deliteľ)

Potom použil MsgBox na zobrazenie zvyšok .

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Vloženie Tlačidlo, postupujte podľa krokov vysvetlených v časti 1.

➤ Tlačidlo som pomenoval Získajte Pripomienka z Keď deliteľ & amp; Desatinné číslo .

Potom kliknite na Tlačidlo spustiť VBA kód.

Preto získate zvyšok pre obe desatinný deliteľ a čísla .

Existuje však problém, ktorý VBA zaokrúhľuje nahor desatinné číslo Tu mal byť výsledok 1.75 ale Modul VBA zaokrúhlil na 2 .

Súvisiaci obsah: Funkcia VBA EXP v programe Excel (5 príkladov)

7. Modul VBA na zaokrúhlenie desatinného čísla väčšieho ako 0,5

Tu vám ukážem, ako zaokrúhliť pracuje v Modul VBA .

Aby sme vám ukázali. desatinné číslo bod problém, najprv budem počítať zvyšok pomocou programu Excel MOD funkcie.

V bunke D4 , zadajte nasledujúci vzorec,

=MOD(B6, C6)

Tu som použil B6 ako číslo C6 ako deliteľ .

Potom stlačte tlačidlo VSTÚPIŤ získať zvyšok a dostanete zvyšok ktoré budú 7.7 .

Teraz si vypočítajme VBA Mod , aby ste otvorili VBA editor postupujte podľa krokov vysvetlených v časti 1.

Potom zadajte nasledujúci kód do 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 

Tu, v čiastková procedúra Decimal_Both_Divisor_Number, Deklaroval som premennú n ako Celé číslo a použil ho na uchovanie vrátenej hodnoty Mod prevádzkovateľ.

Ďalej použite odkaz na bunku B6 ako číslo1 a C6 ako číslo2 (deliteľ)

Potom použil MsgBox na zobrazenie zvyšok .

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Vloženie Tlačidlo , postupujte podľa krokov vysvetlených v časti 1.

➤ Tlačidlo som pomenoval RoundsUp Desatinné číslo .

Potom kliknite na Tlačidlo spustiť VBA kód.

Preto získate zvyšok pre použitý odkaz na bunku.

Pozorne sa pozrite na zvyšok že Modul VBA vrátil. MOD funkcie pre rovnaké vrátené hodnoty 7.7 ale Modul VBA vrátený operátor 0 . Ako VBA zaokrúhliť hodnoty.

Prečítajte si viac: Ako používať funkciu VBA Round v programe Excel (6 rýchlych použití)

8. Určenie párneho alebo nepárneho čísla

Stránka Modul VBA určuje aj Dokonca aj alebo Zvláštne číslo z daného rozsahu.

Otvorenie VBA editora, postupujte podľa krokov vysvetlených v časti 1.

Potom zadajte nasledujúci kód do 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 párne číslo!" Else MsgBox n & " je nepárne číslo!" End If Next n End Sub 

Tu, v podproces Determine_Even_Or_Odd, Deklaroval som premennú n ako Celé číslo .

Potom som použil Pre cyklus, v ktorom som uchovával hodnotu, ktorú som deklaroval prostredníctvom odkazu na bunku.

Ďalej som použil IF funkciu, kde som nastavil kritériá ako n Mod 2 = 0 ak je hodnota true, potom vráti Dokonca aj vyhlásenie v opačnom prípade Zvláštne .

Potom použil MsgBox na zobrazenie vyhlásenia .

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Vloženie Tlačidlo , postupujte podľa krokov vysvetlených v časti 1.

➤ Tlačidlo som pomenoval Párne alebo nepárne .

Potom kliknite na Tlačidlo spustiť VBA kód.

Preto sa dozviete, ktorá hodnota je Dokonca aj a ktorý z nich je Zvláštne .

Tu, 1 je Zvláštne číslo.

Tu, 2 je Dokonca aj číslo.

Prečítajte si viac: Príkaz VBA If - Then - Else v programe Excel (4 príklady)

9. Použitie rozsahu buniek v module VBA na získanie zvyšku

Môžete tiež použiť rozsah buniek získať zvyšok pomocou Modul VBA .

Otvorenie VBA editora, postupujte podľa krokov vysvetlených v časti 1.

Potom zadajte nasledujúci kód do poľa 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 

Tu, v Podprocedúra Get_Reminder_UsingVBA, Deklaroval som premennú n ako Celé číslo .

Potom som použil Pre slučka, v ktorej som zachoval hodnotu, ktorú som deklaroval prostredníctvom odkazu na bunku. Slučka bude fungovať pre hodnoty z riadkov 4 na 9 .

Potom použil MsgBox na zobrazenie zvyšok .

Teraz, Uložiť kód a vráťte sa na pracovný hárok.

Vloženie Tlačidlo , postupujte podľa krokov vysvetlených v časti 1.

➤ Tlačidlo som pomenoval Dynamická referencia bunky .

Potom kliknite na Tlačidlo spustiť VBA kód.

Preto získate zvyšok pre všetky použité hodnoty jednu po druhej.

Prvá je určená pre číslo 29 kde deliteľ je . 3 .

Druhý je určený pre číslo -47 kde deliteľ je . 5 .

Cyklus bude pracovať, kým nedosiahne riadok 9 Piaty je určený pre číslo 59 kde deliteľ je . 6 .

Súvisiaci obsah: Ako používať funkciu VBA Randomize v programe Excel (5 príkladov)

Rozdiel medzi programom Excel MOD & VBA Mod

Hoci vo väčšine prípadov sú návratové hodnoty rovnaké pre MOD funkcie a Modul VBA v niektorých prípadoch sa však výsledok od seba líši. Dovoľte mi, aby som vám ukázal rozdiel medzi nimi.

MOD Funkcia Modul VBA Prevádzkovateľ
Stránka MOD funkcia vracia obe Celé číslo a Desatinné číslo čísla. Mod operátor vracia iba Celé číslo čísla.
Pri používaní negatívne číslo v MOD nevracia záporné znamienko . Podporuje negatívne a potom vráti čísla záporné znamienko .

Čo si treba zapamätať

🔺 Operátor zaokrúhli desatinné/plávajúce bodov.

Praktická časť

V pracovnom zošite som uviedol cvičný list na precvičenie týchto vysvetlených príkladov.

Záver

V tomto článku som uviedol 9 príkladov aplikácie Excel Modul VBA Operátor. Snažil som sa tiež pokryť dôvody častého zobrazovania chýb. Spolu s vecami, ktoré budete musieť mať na pamäti pri používaní operátora. Neváhajte komentovať nižšie všetky typy otázok a návrhov.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.