Sådan bruger du VBA Mod Operator (9 eksempler)

  • Del Dette
Hugh West

VBA Mod er ikke en funktion, mens MOD er en funktion i et Excel-regneark. VBA Mod er en operatør, der dividerer to tal og returnerer rest . operatøren Mod er en forkortelse af MODULO der anvendes i matematiske operationer. Mod operatører runde op Flydende punkt .

I denne artikel vil jeg vise dig forskellige eksempler på at bruge Excel VBA Mod operatør.

Download til praksis

Eksempler på VBA Mod Operator.xlsm

Grundlæggende VBA Mod Funktion: Resumé & Syntaks

Resumé

VBA Mod operatoren dividerer to tal og returnerer rest . hvor man er kendt som en divisor en anden er en nummer . Mod operatøren deler den nummer af divisor .

Syntaks

Antal1 Mod Antal2 (divisor)

Argumenter

Argumenter Krævet/valgfrit Forklaring
Nummer1 Påkrævet Det er en numerisk udtryk
Nummer2 Påkrævet Det er en numerisk udtryk

Returneringsværdi

VBA Mod operatøren returnerer en rest .

Version

VBA Mod operatør er tilgængelig for Excel 2000 og nyere.

Jeg bruger Excel Microsoft 365 til at gennemføre disse eksempler.

9 eksempler på brug af VBA Mod-funktionen i Excel

1. Brug af VBA Mod til at få resten

Hvis du ønsker det, kan du få en rest ved at bruge VBA Mod operatør.

Lad mig forklare dig proceduren,

Til at begynde med skal du åbne Udvikler faneblad>> vælg Visual Basic .

➤ Nu åbnes et nyt vindue med Microsoft Visual Basic for Applications vil blive vist.

Dernæst, fra Indsæt >> vælg Modul

Skriv nu følgende kode i Modul .

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

Her, i den Hent_Reminder sub-procedure, erklærede jeg variablen n som Hele tal og brugte den til at beholde den returnerede værdi af Mod operatør.

Derefter blev brugt den MsgBox til at vise den rest .

Nu, Gem koden, og gå tilbage til regnearket.

Igen skal du åbne den Udvikler faneblad>> fra Indsæt >> vælg Knap fra Kontrolelementer til formularer

Nu, Træk Knap for at placere den der, hvor du ønsker at angive billedteksten.

Dernæst kan du give knappen et navn.

➤ Jeg kaldte den Få påmindelse .

⏩ Nu, højreklik på musen en kontekstmenu med Tildel Makro vil blive vist.

Herfra skal du vælge Tildel makro .

⏩ A dialogboks Tildel makro vil blive vist.

Vælg derefter den Makronavn og Makroer i .

⏩ Jeg valgte Hent_Reminder fra den Makronavn og valgt VBA Mod.xlsm fra Makroer i .

Til sidst skal du klikke på OK .

Klik derefter på knappen med navnet Hent_Reminder .

Den vil derfor vise en msg-boks med den rest .

Du kan gøre det for alle de numre for at få den rest .

Læs mere: VBA-formatfunktion i Excel (8 anvendelser med eksempler)

2. Brug af cellehenvisning i VBA Mod til at få resten

Ved at bruge Celle reference fra Excel-arket, kan du få den rest fra VBA Mod .

For at åbne den VBA editor, skal du følge de trin, der er forklaret i afsnit 1.

Skriv derefter følgende kode i 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 

Her, i Reminder_Using_CellReference , erklærede jeg variablen n som Hele tal og brugte den til at beholde den returnerede værdi af Mod operatør.

Dernæst bruges cellehenvisningen B4 som nummer1 og C4 som number2 (divisor)

Derefter blev brugt den MsgBox til at vise den rest .

Nu, Gem koden og gå tilbage til regnearket.

For at indsætte den Knap , skal du følge de trin, der er forklaret i afsnit 1.

➤ Jeg navngav knappen Celle reference .

Klik derefter på Knap til at køre VBA kode.

Derfor vil du få den rest for den anvendte cellehenvisning.

Relateret indhold: Sådan returneres en værdi i en VBA-funktion (både Array- og ikke-Array-værdier)

3. Brug af VBA Mod til at få en restdel af et negativt tal

VBA Mod understøtter også negativ numre ved beregning af den rest .

For at åbne den VBA editor, skal du følge de trin, der er forklaret i afsnit 1.

Skriv derefter følgende kode i 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 

Her, i Påmindelse_fra_negativttal, Jeg erklærede variablen n som Hele tal og brugte den til at beholde den returnerede værdi af Mod operatør.

Dernæst bruges cellehenvisningen B5 som nummer1 og C5 som number2 (divisor)

Derefter blev brugt den MsgBox til at vise den rest .

Nu, Gem koden, og gå tilbage til regnearket.

For at indsætte den Knap, Følg de trin, der er forklaret i afsnit 1.

➤ Jeg navngav knappen Påmindelse fra negativt tal .

Klik derefter på Knap til at køre VBA kode.

Derfor vil du få den rest for den negativt tal .

Læs mere: Sådan bruges VBA IsNumeric-funktionen (9 eksempler)

4. Brug af VBA Mod til at få resten i en celle

I stedet for at vise den rest gennem den msg boks kan du placere den i en celle ved at bruge VBA MOD funktion.

For at åbne den VBA editor, skal du følge de trin, der er forklaret i afsnit 1.

Skriv derefter følgende kode i Modul .

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

Her, i s ub-procedure Påmindelse_i_Celle , brugte jeg den ActiveCell.FormulaR1C1 format for at få positionen af ActiveCell .

Derefter brugte du den MOD funktion for at få den rest .

Brugte også den Vælg metode.

Nu, Gem koden, og gå tilbage til regnearket.

For at indsætte den Knap og tildele VBA kode følger de trin, der er forklaret i afsnit 1.

➤ Jeg navngav knappen Påmindelse i celle .

Vælg derefter den D4 celle.

Klik derefter på Knap til at køre VBA kode.

Som et resultat heraf får du den rest i den valgte celle.

Ved at følge den samme proces får du den rest for resten af tallene.

Læs mere: Sådan bruger du MsgBox-funktionen i Excel VBA (en komplet vejledning)

5. Brug af VBA Mod med Integer Divisor & Float Number

Hvis din divisor er en heltal type, men din nummer er i float type, så kan du bruge VBA Mod operatør.

For at åbne den VBA editor, skal du følge de trin, der er forklaret i afsnit 1.

Skriv derefter følgende kode i 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 

Her, i R eminder_From_Decimal_Number underprocedure, Jeg erklærede variablen n som Hele tal og brugte den til at beholde den returnerede værdi af Mod operatør.

Dernæst bruges cellehenvisningen B5 som nummer1 og C5 som number2 (divisor)

Derefter blev brugt den MsgBox til at vise den rest .

Nu, Gem koden og gå tilbage til regnearket.

For at indsætte den Knap , skal du følge de trin, der er forklaret i afsnit 1.

➤ Jeg navngav knappen Påmindelse fra decimaltal .

Klik derefter på Knap til at køre VBA kode.

Derfor vil du få den rest for den decimaltal .

Men der er et problem, som VBA runder op decimal Her skulle resultatet være 2.25 men den VBA Mod afrundet det til 2 .

Husk, at hvis nogen decimal/floating punkt er større end 0.5 i den VBA Mod så vil det være afrundet til den næste hele talværdi.

Hvis den er mindre end 0.5 i den VBA Mod , så vil det være afrundet til den eksisterende hele talværdi.

Læs mere: Sådan bruges VBA Int-funktionen i Excel ( 3 eksempler)

Lignende læsninger:

  • Sådan bruges IsNull-funktionen i Excel VBA (5 eksempler)
  • Brug VBA Str-funktionen i Excel (4 eksempler)
  • Sådan bruger du VBA Switch Function (6 passende eksempler)
  • Brug VBA Len-funktionen i Excel (4 eksempler)
  • Sådan fjernes dubletter i Excel-ark (7 metoder)

6. Brug af VBA Mod når divisor & tal er begge decimaler

Hvis din divisor og nummer begge er i decimal/float type, så kan du også bruge VBA Mod operatør.

For at åbne den VBA editor, skal du følge de trin, der er forklaret i afsnit 1.

Skriv derefter følgende kode i 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 

Her, i den sub-procedure Decimal_Both_Divisor_Number, Jeg erklærede variablen n som Hele tal og brugte den til at beholde den returnerede værdi af Mod operatør.

Dernæst bruges cellehenvisningen B5 som nummer1 og C5 som number2 (divisor)

Derefter blev brugt den MsgBox til at vise den rest .

Nu, Gem koden, og gå tilbage til regnearket.

For at indsætte den Knap, Følg de trin, der er forklaret i afsnit 1.

➤ Jeg navngav knappen Påmindelse fra når divisor & Tal Decimal .

Klik derefter på Knap til at køre VBA kode.

Derfor vil du få den rest for både decimal divisor og numre .

Men der er et problem, som VBA runder op decimal Her skulle resultatet være 1.75 men den VBA Mod afrundet det til 2 .

Relateret indhold: VBA EXP-funktion i Excel (5 eksempler)

7. VBA Mod til at afrunde decimaltal større end 0,5 opad

Her vil jeg vise dig, hvordan runde op arbejder i den VBA Mod .

For at vise dig den decimal punktproblem, vil jeg først beregne den rest ved hjælp af Excel MOD funktion.

I celle D4 , skriv følgende formel,

=MOD(B6, C6)

Her har jeg brugt B6 som nummer C6 som en divisor .

Derefter skal du trykke på INDTAST for at få den rest og du vil få den rest som vil være 7.7 .

Lad os nu beregne gennem VBA Mod , for at åbne den VBA editor følger de trin, der er forklaret i afsnit 1.

Skriv derefter følgende kode i 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 

Her, i den underprocedure Decimal_Both_Divisor_Number, Jeg erklærede variablen n som Hele tal og brugte den til at beholde den returnerede værdi af Mod operatør.

Dernæst bruges cellehenvisningen B6 som nummer1 og C6 som number2 (divisor)

Derefter blev brugt den MsgBox til at vise den rest .

Nu, Gem koden, og gå tilbage til regnearket.

For at indsætte den Knap , skal du følge de trin, der er forklaret i afsnit 1.

➤ Jeg navngav knappen RoundsUp Decimaltal .

Klik derefter på Knap til at køre VBA kode.

Derfor vil du få den rest for den anvendte cellehenvisning.

Se nøje på den rest at den VBA Mod returneret. MOD funktion for de samme værdier, der returneres 7.7 men den VBA Mod operatør returnerede 0 . som den VBA afrundede værdierne.

Læs mere: Sådan bruger du VBA Round Function i Excel (6 hurtige anvendelser)

8. Bestem lige eller ulige tal

VBA Mod bestemmer også den Selv eller Mærkeligt tal fra et givet interval.

For at åbne den VBA editor, skal du følge de trin, der er forklaret i afsnit 1.

Skriv derefter følgende kode i 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 & " er et lige tal!" Else MsgBox n & " er et ulige tal!" End If Next n End Sub 

Her, i den underprocedure Bestem_Even_Og_Odd, Jeg erklærede variablen n som Hele tal .

Derefter brugte jeg en Til loop, hvor jeg beholdt den værdi, som jeg har angivet via cellehenvisning.

Dernæst brugte jeg en IF funktion, hvor jeg sætter kriterierne som n Mod 2 = 0 hvis værdien er sand, returnerer den en Selv erklæring ellers Mærkeligt .

Derefter blev brugt den MsgBox til at vise den erklæringer .

Nu, Gem koden, og gå tilbage til regnearket.

For at indsætte den Knap , skal du følge de trin, der er forklaret i afsnit 1.

➤ Jeg navngav knappen Lige eller ulige .

Klik derefter på Knap til at køre VBA kode.

Derfor vil du få at vide, hvilken værdi der er Selv og hvilken en er Mærkeligt .

Her, 1 er den Mærkeligt nummer.

Her, 2 er den Selv nummer.

Læs mere: VBA If - Then - Else-erklæring i Excel (4 eksempler)

9. Brug af celleområde i VBA Mod til at få resten

Du kan også bruge celleområde for at få den rest ved at bruge VBA Mod .

For at åbne den VBA editor, skal du følge de trin, der er forklaret i afsnit 1.

Skriv derefter følgende kode i 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 

Her, i den Underproceduren Get_Reminder_UsingVBA, Jeg erklærede variablen n som Hele tal .

Derefter brugte jeg en Til loop, hvor jeg har gemt den værdi, som jeg har angivet gennem cellereference. Loopet vil fungere for værdierne fra rækker 4 til 9 .

Derefter blev brugt den MsgBox til at vise den rest .

Nu, Gem koden og gå tilbage til regnearket.

For at indsætte den Knap , skal du følge de trin, der er forklaret i afsnit 1.

➤ Jeg navngav knappen Dynamisk cellereference .

Klik derefter på Knap til at køre VBA kode.

Derfor vil du få den rest for alle de anvendte værdier en efter en.

Den første er for den nummer 29 hvor den divisor er 3 .

Den anden er for den nummer -47 hvor den divisor er 5 .

Løkken vil fungere, indtil den når til række 9 . Den femte er for den nummer 59 hvor den divisor er 6 .

Relateret indhold: Sådan bruges VBA Randomize-funktionen i Excel (5 eksempler)

Forskellen mellem Excel MOD & VBA Mod

Selv om returværdierne i de fleste tilfælde er de samme for de MOD funktionen og VBA Mod operatøren, men i nogle tilfælde er resultatet dog forskelligt fra hinanden. Lad mig vise dig forskellen mellem dem.

MOD Funktion VBA Mod Operatør
MOD funktionen returnerer både Hele tal og Decimal numre. Mod operatøren returnerer kun Hele tal numre.
Ved brug af en negativ antal i MOD den returnerer ikke en negativt fortegn . Den understøtter negativ tal og returnerer derefter negativt fortegn .

Ting at huske

🔺 Operatøren runder den decimal/floating point.

Øvelsesafsnit

I arbejdsbogen er der et øvelsesark, som du kan bruge til at øve dig på disse forklarede eksempler.

Konklusion

I denne artikel har jeg vist 9 eksempler på Excel VBA Mod operatør. Jeg har også forsøgt at dække årsagerne til at vise fejl ofte. Sammen med de ting, du skal huske, mens du bruger operatøren. Du er velkommen til at kommentere nedenfor for alle typer forespørgsler og forslag.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.