Hoe VBA Mod Operator gebruiken (9 voorbeelden)

  • Deel Dit
Hugh West

De VBA Mod is geen functie, terwijl MOD is een functie in een Excel-werkblad. VBA Mod is een operator die twee getallen deelt en de rest De operator Mod is een afkorting van MODULO die wordt gebruikt bij wiskundebewerkingen. De Mod exploitanten afronden de floating-point .

In dit artikel laat ik u verschillende voorbeelden zien van het gebruik van de Excel VBA Mod operator.

Downloaden naar de praktijk

Voorbeelden van VBA Mod Operator.xlsm

Grondbeginselen van VBA Mod Functie: Samenvatting & Syntaxis

Samenvatting

De VBA Mod deelt twee getallen en geeft de rest waar men bekend staat als een deler een ander is een nummer . de Mod operator verdeelt de nummer door de deler .

Syntax

Nummer1 Mod Nummer2 (deler)

Argumenten

Argumenten Vereist/optioneel Uitleg
Nummer 1 Vereist Het is een numeriek uitdrukking
Nummer2 Vereist Het is een numeriek uitdrukking

Retourwaarde

De VBA Mod operator geeft een rest .

Versie

De VBA Mod operator is beschikbaar voor Excel 2000 en later.

Ik gebruik Excel Microsoft 365 om deze voorbeelden uit te voeren.

9 Voorbeelden van het gebruik van de VBA Mod-functie in Excel

1. VBA-mod gebruiken om restanten te krijgen

Als je wilt, kun je een rest door gebruik te maken van de VBA Mod operator.

Ik zal je de procedure uitleggen,

Om te beginnen opent u de Ontwikkelaar tab>> selecteer Visual Basic .

➤ Nu, een nieuw venster van Microsoft Visual Basic voor toepassingen zal verschijnen.

Vervolgens, van Plaats >> selecteer Module

Typ nu de volgende code in de Module .

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

Hier, in de Get_Reminder subprocedure, heb ik de variabele n als Integer en gebruikte het om de geretourneerde waarde van de Mod operator.

Gebruikte toen de MsgBox om de rest .

Nu, Sla de code en ga terug naar het werkblad.

Nogmaals, open de Ontwikkelaar tab>> van Plaats >> selecteer Knop van Formuliercontroles

Nu, Sleep de Knop om het te plaatsen waar u het bijschrift wilt geven.

Vervolgens kun je de knop een naam geven.

Ik noemde het Ontvang een herinnering .

Nu, rechtermuisknop een contextmenu van toewijzen Macro zal verschijnen.

Selecteer van daaruit Macro toewijzen .

⏩ A dialoogvenster van Macro toewijzen zal verschijnen.

Selecteer vervolgens de Macro naam en Macro's in .

Ik heb gekozen voor Get_Reminder van de Macro naam en geselecteerd VBA Mod.xlsm van Macro's in .

Klik tenslotte op OK .

Klik dan op de knop met de naam Get_Reminder .

Het zal dus een Berichtenbox met de rest .

Je kunt het doen voor alle nummers om de rest .

Lees meer: VBA opmaakfunctie in Excel (8 toepassingen met voorbeelden)

2. Celverwijzing in VBA-modus gebruiken om restant te krijgen

Door gebruik te maken van Celverwijzing van het Excel-blad, kunt u de rest van VBA Mod .

Om de VBA editor, volg de stappen die zijn uitgelegd in hoofdstuk 1.

Typ dan de volgende code in de Module .

 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 

Hier, in Herinnering_Gebruik_CellReference heb ik de variabele n als Integer en gebruikte het om de geretourneerde waarde van de Mod operator.

Vervolgens gebruikt u de celverwijzing B4 als nummer1 en C4 als nummer2 (deler)

Gebruikte toen de MsgBox om de rest .

Nu, Sla de code en ga terug naar het werkblad.

Om de Knop volg de stappen die in sectie 1 zijn uitgelegd.

Ik noemde de knop Celverwijzing .

Klik daarna op de Knop om de VBA code.

Daarom krijgt u de rest voor de gebruikte celverwijzing.

Verwante inhoud: Een waarde teruggeven in een VBA-functie (zowel Array- als niet-arraywaarden)

3. VBA-mod gebruiken om een restant van een negatief getal te krijgen

De VBA Mod ondersteunt ook negatief nummers tijdens het berekenen van de rest .

Om de VBA editor, volg de stappen die zijn uitgelegd in hoofdstuk 1.

Typ dan de volgende code in de Module .

 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 

Hier, in Reminder_From_NegativeNumber, Ik heb de variabele n als Integer en gebruikte het om de geretourneerde waarde van de Mod operator.

Vervolgens gebruikt u de celverwijzing B5 als nummer1 en C5 als nummer2 (deler)

Gebruikte toen de MsgBox om de rest .

Nu, Sla de code en ga terug naar het werkblad.

Om de Knop, volg de stappen die in sectie 1 zijn uitgelegd.

Ik noemde de knop Herinnering van negatief getal .

Klik daarna op de Knop om de VBA code.

Daarom krijgt u de rest voor de negatief getal .

Lees meer: Hoe VBA IsNumeric-functie gebruiken (9 voorbeelden)

4. VBA-modus gebruiken om rest in cel te krijgen

In plaats van de rest door de msg doos kunt u het in een cel plaatsen met behulp van de VBA MOD functie.

Om de VBA editor, volg de stappen die zijn uitgelegd in hoofdstuk 1.

Typ dan de volgende code in de Module .

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

Hier, in s ub-procedure Herinnering_in_Cel gebruikte ik de ActiveCell.FormulaR1C1 formaat om de positie van ActiveCell .

Dan, gebruikte de MOD functie om de rest .

Gebruikte ook de Selecteer methode.

Nu, Sla de code en ga terug naar het werkblad.

Om de Knop en toewijzen de VBA code volg de stappen die in sectie 1 zijn uitgelegd.

Ik noemde de knop Herinnering in cel .

Selecteer vervolgens de D4 cel.

Klik vervolgens op de Knop om de VBA code.

Als gevolg daarvan krijgt u de rest in de geselecteerde cel.

Door hetzelfde proces te volgen, krijgt u de rest voor de rest van de nummers.

Lees meer: Hoe de MsgBox-functie in Excel VBA te gebruiken (een complete richtlijn)

5. VBA Mod gebruiken met integer deler & Float getal

Voor het geval uw deler is een geheel getal type, maar uw nummer is in float type dan kunt u de VBA Mod operator.

Om de VBA editor, volg de stappen die zijn uitgelegd in hoofdstuk 1.

Typ dan de volgende code in de Module .

 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 

Hier, in de R eminder_From_Decimal_Number subprocedure, Ik heb de variabele n als Integer en gebruikte het om de geretourneerde waarde van de Mod operator.

Vervolgens gebruikt u de celverwijzing B5 als nummer1 en C5 als nummer2 (deler)

Gebruikte toen de MsgBox om de rest .

Nu, Sla de code en ga terug naar het werkblad.

Om de Knop volg de stappen die in sectie 1 zijn uitgelegd.

Ik noemde de knop Herinnering van decimaal getal .

Klik daarna op de Knop om de VBA code.

Daarom krijgt u de rest voor de decimaal getal .

Maar er is een probleem dat VBA rondt af de decimaal Hier moest het resultaat 2.25 maar de VBA Mod afgerond naar 2 .

Denk eraan als een decimaal/vlottend punt groter is dan 0.5 in de VBA Mod dan zal het afgerond naar de volgende gehele waarde.

Als het minder is dan 0.5 in de VBA Mod dan zal het afgerond aan de bestaande gehele waarde.

Lees meer: Hoe VBA Int-functie gebruiken in Excel (3 voorbeelden)

Vergelijkbare lezingen:

  • Hoe de functie IsNull te gebruiken in Excel VBA (5 voorbeelden)
  • VBA Str-functie in Excel gebruiken (4 voorbeelden)
  • Hoe de VBA-schakelfunctie gebruiken (6 geschikte voorbeelden)
  • VBA Len-functie in Excel gebruiken (4 voorbeelden)
  • Hoe Duplicaten te verwijderen in Excel Sheet (7 methoden)

6. VBA-mod gebruiken wanneer deler en getal beide decimalen zijn

Als uw deler en nummer beide zijn in decimaal/loat type, dan kun je ook de VBA Mod operator.

Om de VBA editor, volg de stappen die zijn uitgelegd in hoofdstuk 1.

Typ dan de volgende code in de Module .

 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 

Hier, in de subprocedure Decimal_Both_Divisor_Number, Ik heb de variabele n als Integer en gebruikte het om de geretourneerde waarde van de Mod operator.

Vervolgens gebruikt u de celverwijzing B5 als nummer1 en C5 als nummer2 (deler)

Gebruikte toen de MsgBox om de rest .

Nu, Sla de code en ga terug naar het werkblad.

Om de Knop, volg de stappen die in sectie 1 zijn uitgelegd.

Ik noemde de knop Haal Herinnering Van Wanneer deler & Getal Decimaal .

Klik daarna op de Knop om de VBA code.

Daarom krijgt u de rest voor beide decimale deler en nummers .

Maar er is een probleem dat VBA rondt de decimaal Hier moest het resultaat 1.75 maar de VBA Mod afgerond naar 2 .

Gerelateerde inhoud: VBA EXP-functie in Excel (5 voorbeelden)

7. VBA Mod om decimaal getal groter dan 0,5 naar boven af te ronden

Hier zal ik u laten zien hoe de afronden werkt in de VBA Mod .

Om u de decimaal punt probleem, zal ik eerst de rest met behulp van de Excel MOD functie.

In de cel D4 typ de volgende formule in,

=MOD(B6, C6)

Hier gebruikte ik B6 als nummer C6 als deler .

Druk vervolgens op ENTER om de rest en je krijgt de rest die 7.7 .

Laten we nu doorrekenen VBA Mod om de VBA editor volg de stappen die in punt 1 zijn uitgelegd.

Typ dan de volgende code in de Module .

 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 

Hier, in de subprocedure Decimal_Both_Divisor_Number, Ik heb de variabele n als Integer en gebruikte het om de geretourneerde waarde van de Mod operator.

Vervolgens gebruikt u de celverwijzing B6 als nummer1 en C6 als nummer2 (deler)

Gebruikte toen de MsgBox om de rest .

Nu, Sla de code en ga terug naar het werkblad.

Om de Knop volg de stappen die in sectie 1 zijn uitgelegd.

Ik noemde de knop RoundsUp Decimaal getal .

Klik daarna op de Knop om de VBA code.

Daarom krijgt u de rest voor de gebruikte celverwijzing.

Kijk goed naar de rest dat de VBA Mod teruggestuurd. MOD functie voor dezelfde waarden die terugkeren 7.7 maar de VBA Mod operator teruggestuurd 0 Als de VBA de waarden afgerond.

Lees meer: De VBA-afrondingsfunctie in Excel gebruiken (6 snelle toepassingen)

8. Bepaal een even of oneven getal

De VBA Mod bepaalt ook de Zelfs of Vreemd nummer uit een bepaald bereik.

Om de VBA editor, volg de stappen die zijn uitgelegd in hoofdstuk 1.

Typ dan de volgende code in de Module .

 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 & " is een even getal!" Else MsgBox n & " is een oneven getal!" End If Next n End Sub 

Hier, in de subprocedure Determine_Even_Or_Odd, Ik heb de variabele n als Integer .

Daarna gebruikte ik een Voor lus waar ik de waarde bewaarde die ik aangaf via celverwijzing.

Vervolgens heb ik een ALS functie waarbij ik de criteria instel als n Mod 2 = 0 als de waarde waar is dan zal het een Zelfs verklaring anders Vreemd .

Gebruikte toen de MsgBox om de verklaringen .

Nu, Sla de code en ga terug naar het werkblad.

Om de Knop volg de stappen die in sectie 1 zijn uitgelegd.

Ik noemde de knop Even of Oneven .

Klik daarna op de Knop om de VBA code.

Daarom krijgt u te horen welke waarde Zelfs en welke is Vreemd .

Hier, 1 is de Vreemd nummer.

Hier, 2 is de Zelfs nummer.

Lees meer: VBA If - Then - Else Statement in Excel (4 voorbeelden)

9. Celbereik in VBA-modus gebruiken om restant te krijgen

U kunt ook de celbereik om de rest door gebruik te maken van de VBA Mod .

Om de VBA editor, volg de stappen die zijn uitgelegd in hoofdstuk 1.

Typ dan de volgende code in de Module .

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

Hier, in de Get_Reminder_UsingVBA subprocedure, Ik heb de variabele n als Integer .

Daarna gebruikte ik een Voor lus waarin ik de waarde bewaar die ik via celverwijzing heb aangegeven. De lus werkt voor de waarden van rijen 4 naar 9 .

Gebruikte toen de MsgBox om de rest .

Nu, Sla de code en ga terug naar het werkblad.

Om de Knop volg de stappen die in sectie 1 zijn uitgelegd.

Ik noemde de knop Dynamische celverwijzing .

Klik daarna op de Knop om de VBA code.

Daarom krijgt u de rest voor alle gebruikte waarden één voor één.

De eerste is voor de nummer 29 waar de deler is 3 .

De 2e is voor de nummer -47 waar de deler is 5 .

De lus zal werken tot hij rij 9 De vijfde is voor de nummer 59 waar de deler is 6 .

Gerelateerde inhoud: Hoe VBA Randomize-functie in Excel gebruiken (5 voorbeelden)

Verschil tussen Excel MOD en VBA Mod

Hoewel voor de meeste gevallen de terugkeerwaarden hetzelfde zijn voor de MOD functie en de VBA Mod maar voor sommige gevallen verschilt het resultaat van elkaar. Ik zal u het verschil laten zien.

MOD Functie VBA Mod Exploitant
De MOD functie retourneert zowel Integer en Decimaal nummers. Mod geeft alleen Integer nummers.
Tijdens het gebruik van een negatief nummer in MOD geeft het geen negatief teken . Het ondersteunt negatief nummers en geeft dan de negatief teken .

Dingen om te onthouden

De operator zal de decimaal/vlottend punten.

Praktijk Sectie

Ik heb in het werkboek een oefenblad opgenomen om deze uitgelegde voorbeelden te oefenen.

Conclusie

In dit artikel heb ik 9 voorbeelden van de Excel VBA Mod operator. Ik heb ook geprobeerd de redenen voor het vaak tonen van fouten te behandelen, samen met de dingen die je moet onthouden tijdens het gebruik van de operator. Voel je vrij om hieronder commentaar te geven voor alle soorten vragen en suggesties.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.