Hur man använder VBA Mod Operator (9 exempel)

  • Dela Detta
Hugh West

VBA Mod inte är en funktion, medan MOD är en funktion i ett Excel-arbetsblad. VBA Mod är en operatör som dividerar två tal och returnerar Återstoden . Operatören Mod är en förkortning av MODULO som används i matematiska operationer. Mod operatörer avrundning flytande punkt .

I den här artikeln kommer jag att visa dig olika exempel på hur du kan använda Excel VBA Mod operatör.

Ladda ner till praktiken

Exempel på VBA Mod Operator.xlsm

Grunderna i VBA Mod Funktion: Sammanfattning & Syntax

Sammanfattning

VBA Mod Operatören dividerar två tal och returnerar Återstoden Om man är känd som en divisor en annan är en nummer . Mod operatören delar upp den nummer av divisor .

Syntax

Nummer1 Mod Nummer2 (Divisor)

Argument

Argument Krävs/valfritt Förklaring
Nummer 1 Krävs Det är en numerisk uttryck
Nummer2 Krävs Det är en numerisk uttryck

Returvärde

VBA Mod återger en Återstoden .

Version

VBA Mod operatören är tillgänglig för Excel 2000 och senare.

Jag använder Excel Microsoft 365 för att genomföra dessa exempel.

9 exempel på användning av VBA Mod-funktionen i Excel

1. Använda VBA Mod för att få fram resten

Om du vill kan du få en Återstoden genom att använda VBA Mod operatör.

Låt mig förklara förfarandet för dig,

Till att börja med öppnar du Utvecklare flik>> välj Visual Basic .

➤ Nu öppnas ett nytt fönster med Microsoft Visual Basic för tillämpningar kommer att visas.

Därefter, från Infoga >> välj Modul

Skriv nu följande kod i Modul .

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

Här, i den Få_påminnelse subproceduren deklarerade jag variabeln n som Heltal och använde den för att behålla det returnerade värdet av Mod operatör.

Därefter användes MsgBox för att visa den Återstoden .

Nu, Spara koden och gå tillbaka till arbetsbladet.

Öppna återigen Utvecklare flik>> från Infoga >> välj Knapp från Kontroller för formulär

Nu, Drag Knapp för att placera den på den plats där du vill ange texten.

Därefter kan du ge knappen ett namn.

➤ Jag namngav den Få en påminnelse .

⏩ Nu, högerklicka på musen en kontextmeny med Tilldela Makro kommer att visas.

Där väljer du Tilldela makro .

⏩ A dialogruta Tilldela makro kommer att visas.

Välj sedan Makronamn och Makroer i .

⏩ Jag valde Få_påminnelse från Makronamn och valde VBA Mod.xlsm från Makroer i .

Slutligen klickar du på OK .

Klicka sedan på knappen som heter Få_påminnelse .

Den kommer därför att visa en meddelandefält med den Återstoden .

Du kan göra det för alla nummer för att få den Återstoden .

Läs mer: VBA-formatfunktion i Excel (8 användningsområden med exempel)

2. Användning av cellreferens i VBA Mod för att få resten

Genom att använda Cellreferens från Excel-bladet kan du få fram Återstoden från VBA Mod .

För att öppna VBA editor, följ de steg som förklaras i avsnitt 1.

Skriv sedan följande kod 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 

Här, i Påminnelse_Användning_CellReference , deklarerade jag variabeln n som Heltal och använde den för att behålla det returnerade värdet av Mod operatör.

Därefter används cellreferensen B4 som nummer1 och C4 som number2 (divisor)

Därefter användes MsgBox för att visa den Återstoden .

Nu, Spara koden och gå tillbaka till arbetsbladet.

För att sätta in Knapp följ de steg som beskrivs i avsnitt 1.

➤ Jag namngav knappen Cellreferens .

Klicka sedan på Knapp för att köra VBA kod.

Därför får du den Återstoden för den använda cellreferensen.

Relaterat innehåll: Hur du returnerar ett värde i en VBA-funktion (både array- och icke-arrayvärden)

3. Använda VBA Mod för att få en rest från ett negativt tal

VBA Mod stöder också negativ nummer medan man beräknar den Återstoden .

För att öppna VBA editor, följ de steg som förklaras i avsnitt 1.

Skriv sedan följande kod 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 

Här, i Påminnelse_från_negativtnummer, Jag deklarerade variabeln n som Heltal och använde den för att behålla det returnerade värdet av Mod operatör.

Därefter används cellreferensen B5 som nummer1 och C5 som number2 (divisor)

Därefter användes MsgBox för att visa den Återstoden .

Nu, Spara koden och gå tillbaka till arbetsbladet.

För att sätta in Knapp, följa de steg som förklaras i avsnitt 1.

➤ Jag namngav knappen Påminnelse från negativt nummer .

Klicka sedan på Knapp för att köra VBA kod.

Därför får du den Återstoden för negativt tal .

Läs mer: Hur du använder VBA-funktionen IsNumeric (9 exempel)

4. Använda VBA Mod för att få resten i cellen

I stället för att visa Återstoden genom msg box kan du placera den i en cell med hjälp av VBA MOD funktion.

För att öppna VBA editor, följ de steg som förklaras i avsnitt 1.

Skriv sedan följande kod i Modul .

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

Här, i s ub-förfarande Påminnelse_in_Cell Jag använde mig av ActiveCell.FormulaR1C1 format för att få fram positionen för ActiveCell .

Sedan använde du MOD funktion för att få fram den Återstoden .

Använd också Välj metod.

Nu, Spara koden och gå tillbaka till arbetsbladet.

För att sätta in Knapp och tilldela VBA kod följer de steg som förklaras i avsnitt 1.

➤ Jag namngav knappen Påminnelse i cell .

Välj sedan D4 cell.

Klicka sedan på Knapp för att köra VBA kod.

Som ett resultat av detta får du Återstoden i den valda cellen.

Genom att följa samma process får du Återstoden för resten av siffrorna.

Läs mer: Hur man använder MsgBox-funktionen i Excel VBA (en fullständig vägledning)

5. Användning av VBA Mod med heltalsdelare & Floatnummer

Om din divisor är en heltal typ, men din nummer är i float typ kan du använda VBA Mod operatör.

För att öppna VBA editor, följ de steg som förklaras i avsnitt 1.

Skriv sedan följande kod 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 

Här, i R eminder_From_Decimal_Number delförfarande, Jag deklarerade variabeln n som Heltal och använde den för att behålla det returnerade värdet av Mod operatör.

Därefter används cellreferensen B5 som nummer1 och C5 som number2 (divisor)

Därefter användes MsgBox för att visa den Återstoden .

Nu, Spara koden och gå tillbaka till arbetsbladet.

För att sätta in Knapp följ de steg som beskrivs i avsnitt 1.

➤ Jag namngav knappen Påminnelse från decimaltal .

Klicka sedan på Knapp för att köra VBA kod.

Därför får du den Återstoden för decimaltal .

Men det finns ett problem som VBA avrundar decimal Här skulle resultatet bli följande 2.25 men den VBA Mod avrundat till 2 .

Kom ihåg att om någon decimaltal/flytande är större än 0.5 i den VBA Mod då kommer det att vara avrundat till nästa heltalsvärde.

Om den är mindre än 0.5 i den VBA Mod , då blir det avrundat till det befintliga heltalsvärdet.

Läs mer: Hur man använder VBA Int-funktionen i Excel (3 exempel)

Liknande läsningar:

  • Hur man använder IsNull-funktionen i Excel VBA (5 exempel)
  • Använd VBA Str-funktionen i Excel (4 exempel)
  • Hur du använder VBA Switch-funktionen (6 lämpliga exempel)
  • Använd VBA Len-funktionen i Excel (4 exempel)
  • Hur man tar bort dubbletter i Excel-ark (7 metoder)

6. Användning av VBA Mod när divisor & tal är båda decimaler

Om din divisor och nummer båda är i decimal/float kan du också använda VBA Mod operatör.

För att öppna VBA editor, följ de steg som förklaras i avsnitt 1.

Skriv sedan följande kod 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 

Här, i den delförfarande Decimal_Both_Divisor_Number, Jag deklarerade variabeln n som Heltal och använde den för att behålla det returnerade värdet av Mod operatör.

Därefter används cellreferensen B5 som nummer1 och C5 som number2 (divisor)

Därefter användes MsgBox för att visa den Återstoden .

Nu, Spara koden och gå tillbaka till arbetsbladet.

För att sätta in Knapp, Följ de steg som förklaras i avsnitt 1.

➤ Jag namngav knappen Hämta Påminnelse från när Divisor & Antal Decimal .

Klicka sedan på Knapp för att köra VBA kod.

Därför får du den Återstoden för både decimal divisor och nummer .

Men det finns ett problem som VBA avrundar den decimal Här skulle resultatet bli följande 1.75 men den VBA Mod avrundat till 2 .

Relaterat innehåll: VBA EXP-funktion i Excel (5 exempel)

7. VBA Mod för att avrunda decimaltal som är större än 0,5

Här kommer jag att visa dig hur avrundning arbetar i VBA Mod .

För att visa dig hur decimal punktproblemet, kommer jag först att beräkna Återstoden med hjälp av Excel MOD funktion.

I cell D4 Ange följande formel,

=MOD(B6, C6)

Här använde jag B6 som nummer C6 som en divisor .

Tryck sedan på ENTER för att få den Återstoden och du kommer att få den Återstoden som kommer att vara 7.7 .

Låt oss nu räkna igenom VBA Mod , för att öppna VBA redaktör följer de steg som förklaras i avsnitt 1.

Skriv sedan följande kod 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 

Här, i den delförfarande Decimal_Both_Divisor_Number, Jag deklarerade variabeln n som Heltal och använde den för att behålla det returnerade värdet av Mod operatör.

Därefter används cellreferensen B6 som nummer1 och C6 som number2 (divisor)

Därefter användes MsgBox för att visa den Återstoden .

Nu, Spara koden och gå tillbaka till arbetsbladet.

För att sätta in Knapp följ de steg som beskrivs i avsnitt 1.

➤ Jag namngav knappen RoundsUp Decimalnummer .

Klicka sedan på Knapp för att köra VBA kod.

Därför får du den Återstoden för den använda cellreferensen.

Titta noga på Återstoden att den VBA Mod återkom. MOD funktionen för samma värden som returneras 7.7 men den VBA Mod Operatören returnerade 0 . Eftersom VBA avrundade värdena.

Läs mer: Hur du använder VBA Round-funktionen i Excel (6 snabba användningsområden)

8. Bestäm jämnt eller udda tal

VBA Mod bestämmer också den Till och med eller . Udda nummer från ett givet intervall.

För att öppna VBA editor, följ de steg som förklaras i avsnitt 1.

Skriv sedan följande kod 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 & " är ett jämnt tal!" Else MsgBox n & " är ett udda tal!" End If Next n End Sub 

Här, i den underförfarande Fastställa_jämn_eller_jämnt, Jag deklarerade variabeln n som Heltal .

Sedan använde jag en För slinga där jag behåller det värde som jag deklarerat genom cellreferensen.

Därefter använde jag en IF där jag ställer in kriterierna som n Mod 2 = 0 Om värdet är sant returneras en Även uttalande i annat fall Udda .

Därefter användes MsgBox för att visa den uttalanden .

Nu, Spara koden och gå tillbaka till arbetsbladet.

För att sätta in Knapp följ de steg som beskrivs i avsnitt 1.

➤ Jag namngav knappen Jämnt eller udda .

Klicka sedan på Knapp för att köra VBA kod.

Därför kommer du att få veta vilket värde som är Även och vilken som är Udda .

Här, 1 är den Udda nummer.

Här, 2 är den Även nummer.

Läs mer: VBA If - Then - Else Statement i Excel (4 exempel)

9. Användning av cellområde i VBA Mod för att få resten

Du kan också använda cellområde för att få den Återstoden genom att använda VBA Mod .

För att öppna VBA editor, följ de steg som förklaras i avsnitt 1.

Skriv sedan följande kod 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 

Här, i den Underförfarande Get_Reminder_UsingVBA, Jag deklarerade variabeln n som Heltal .

Sedan använde jag en För slinga där jag behåller värdet som jag deklarerat genom cellreferensen. Slingan kommer att fungera för värdena från raderna 4 till 9 .

Därefter användes MsgBox för att visa den Återstoden .

Nu, Spara koden och gå tillbaka till arbetsbladet.

För att sätta in Knapp följ de steg som beskrivs i avsnitt 1.

➤ Jag namngav knappen Dynamisk cellreferens .

Klicka sedan på Knapp för att köra VBA kod.

Därför får du den Återstoden för alla använda värden ett efter ett.

Den första är för nummer 29 där den divisor är 3 .

Den andra är för nummer -47 där den divisor är 5 .

Slingan kommer att fungera tills den når raden 9 . Den femte är för nummer 59 där den divisor är 6 .

Relaterat innehåll: Hur man använder VBA Randomize-funktionen i Excel (5 exempel)

Skillnaden mellan Excel MOD & VBA Mod

I de flesta fall är returvärdena desamma för MOD funktionen och den VBA Mod Men i vissa fall skiljer sig resultatet från varandra. Låt mig visa dig skillnaden mellan dem.

MOD Funktion VBA Mod Operatör
MOD funktionen returnerar både Heltal och Decimal nummer. Mod endast returnerar Heltal nummer.
När du använder en negativ antal i MOD inte returnerar en negativt tecken . Den stöder negativ nummer och sedan återger den negativt tecken .

Saker att komma ihåg

🔺 Operatören kommer att avrunda den decimal/flytande punkter.

Övningssektionen

I arbetsboken finns ett övningsblad där du kan öva på de förklarade exemplen.

Slutsats

I den här artikeln har jag visat 9 exempel på Excel VBA Mod operator. Jag har också försökt täcka orsakerna till att fel visas ofta. Tillsammans med de saker du behöver komma ihåg när du använder operatören. Kommentera gärna nedan för alla typer av frågor och förslag.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.