Verwendung des VBA-Mod-Operators (9 Beispiele)

  • Teile Das
Hugh West

Die VBA Mod keine Funktion ist, während MOD ist eine Funktion in einem Excel-Arbeitsblatt. VBA Mod ist ein Operator, der zwei Zahlen dividiert und das Ergebnis Restbetrag Der Betreiber Mod ist eine Kurzform von MODULO das bei mathematischen Operationen verwendet wird. Die Mod Betreiber zusammentrommeln die Gleitkomma .

In diesem Artikel zeige ich Ihnen verschiedene Beispiele für die Verwendung der Excel VBA Mod Betreiber.

Herunterladen zum Üben

Beispiele für VBA Mod Operator.xlsm

Grundlagen der VBA Mod-Funktion: Zusammenfassung & Syntax

Zusammenfassung

Die VBA Mod Operator dividiert zwei Zahlen und gibt die Restbetrag Wo man bekannt ist als Divisor eine andere ist eine Nummer . die Mod Operator teilt die Nummer durch die Divisor .

Syntax

Zahl1 Mod Zahl2 (Divisor)

Argumente

Argumente Erforderlich/Optional Erläuterung
Nummer1 Erforderlich Es ist ein numerisch Ausdruck
Nummer2 Erforderlich Es ist ein numerisch Ausdruck

Rückgabewert

Die VBA Mod Operator gibt eine Restbetrag .

Version

Die VBA Mod Operator ist für Excel 2000 und höher verfügbar.

Ich verwende Excel Microsoft 365 um diese Beispiele umzusetzen.

9 Beispiele für die Verwendung der VBA Mod-Funktion in Excel

1. die Verwendung von VBA Mod zum Abrufen des Rests

Wenn Sie möchten, können Sie eine Restbetrag durch die Verwendung der VBA Mod Betreiber.

Lassen Sie mich Ihnen das Verfahren erklären,

Öffnen Sie zunächst das Entwickler tab>> auswählen Visual Basic .

➤ Nun wird ein neues Fenster von Microsoft Visual Basic für Anwendungen erscheinen wird.

Weiter, von einfügen. auswählen Modul

Geben Sie nun den folgenden Code in das Feld Modul .

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

Hier, in der Holen_Erinnerung Unterprozedur habe ich die Variable n als Integer und verwendet es, um den zurückgegebenen Wert der Mod Betreiber.

Dann wurde die MsgBox zur Anzeige der Restbetrag .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Öffnen Sie erneut die Entwickler tab>> von einfügen. auswählen Schaltfläche von Formular-Steuerelemente

Jetzt, Ziehen die Schaltfläche um sie an der Stelle zu platzieren, an der Sie die Beschriftung angeben möchten.

Als nächstes können Sie der Schaltfläche einen Namen geben.

➤ Ich nannte es Erinnerung erhalten .

⏩ Jetzt, Rechtsklick mit der Maus ein Kontextmenü von zuweisen Makro erscheinen wird.

Wählen Sie von dort aus Makro zuweisen .

⏩ A Dialogfeld von Makro zuweisen erscheinen wird.

Wählen Sie dann die Makro-Name und Makros in .

⏩ Ich habe ausgewählt Holen_Erinnerung von der Makro-Name und ausgewählt VBA Mod.xlsm von Makros in .

Klicken Sie schließlich auf OK .

Klicken Sie dann auf die Schaltfläche Holen_Erinnerung .

Daher wird es eine Mitteilungsfeld mit dem Restbetrag .

Sie können es für alle Zahlen um die Restbetrag .

Lesen Sie mehr: VBA Format-Funktion in Excel (8 Verwendungen mit Beispielen)

2. die Verwendung von Zellreferenzen in VBA Mod, um den Rest zu erhalten

Durch die Verwendung von Zelle Referenz aus dem Excel-Blatt, können Sie die Restbetrag von VBA Mod .

Zum Öffnen des VBA Editor, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

Geben Sie dann den folgenden Code in das Feld 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 

Hier, in Erinnerung_Verwendung_ZelleReferenz habe ich die Variable n als Integer und verwendet es, um den zurückgegebenen Wert der Mod Betreiber.

Als Nächstes wird die Zellreferenz verwendet B4 als Nummer1 und C4 als Zahl2 (Divisor)

Dann wurde die MsgBox zur Anzeige der Restbetrag .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Zum Einfügen der Schaltfläche führen Sie die in Abschnitt 1 beschriebenen Schritte aus.

➤ Ich habe die Schaltfläche Zelle Referenz .

Klicken Sie anschließend auf die Schaltfläche Schaltfläche zur Ausführung der VBA Code.

Daher erhalten Sie die Restbetrag für die verwendete Zellreferenz.

Verwandte Inhalte: Wie man einen Wert in einer VBA-Funktion zurückgibt (sowohl Array- als auch Nicht-Array-Werte)

3. mit VBA Mod einen Rest aus einer negativen Zahl ermitteln

Die VBA Mod unterstützt auch negativ Zahlen bei der Berechnung der Restbetrag .

Zum Öffnen des VBA Editor, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

Geben Sie dann den folgenden Code in das Feld 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 

Hier, in Erinnerung_From_NegativeNumber, Ich habe die Variable n als Integer und verwendet es, um den zurückgegebenen Wert der Mod Betreiber.

Als Nächstes wird der Zellbezug verwendet B5 als Nummer1 und C5 als Zahl2 (Divisor)

Dann wurde die MsgBox zur Anzeige der Restbetrag .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Zum Einfügen der Schaltfläche, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

➤ Ich habe die Schaltfläche Erinnerung aus negativer Zahl .

Klicken Sie anschließend auf die Schaltfläche Schaltfläche zum Ausführen der VBA Code.

Daher erhalten Sie die Restbetrag für die negative Zahl .

Lesen Sie mehr: Verwendung der VBA-Funktion IsNumeric (9 Beispiele)

4 VBA Mod verwenden, um den Rest in einer Zelle zu erhalten

Statt der Anzeige der Restbetrag durch die msg Box können Sie sie in eine Zelle setzen, indem Sie die VBA MOD Funktion.

Zum Öffnen des VBA Editor, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

Geben Sie dann den folgenden Code in das Feld Modul .

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

Hier, in s ub-Verfahren Erinnerung_in_Zelle habe ich die ActiveCell.FormulaR1C1 Format, um die Position von ActiveCell .

Dann wird die MOD Funktion zum Abrufen der Restbetrag .

Außerdem wurde die Wählen Sie Methode.

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Zum Einfügen der Schaltfläche und zuweisen. die VBA Code die in Abschnitt 1 erläuterten Schritte durchführen.

➤ Ich habe die Schaltfläche Erinnerung in der Zelle .

Wählen Sie dann die D4 Zelle.

Klicken Sie dann auf das Symbol Schaltfläche zur Ausführung der VBA Code.

Infolgedessen erhalten Sie die Restbetrag in der ausgewählten Zelle.

Wenn Sie denselben Prozess befolgen, erhalten Sie die Restbetrag für den Rest der Zahlen.

Lesen Sie mehr: Wie man die Funktion MsgBox in Excel VBA verwendet (eine vollständige Anleitung)

5. mit VBA Mod mit Integer Divisor & Float Zahl

Für den Fall, dass Ihr Divisor ist eine Ganzzahl Typ, sondern Ihr Nummer ist in Schwimmer Typs können Sie die Funktion VBA Mod Betreiber.

Zum Öffnen des VBA Editor, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

Geben Sie dann den folgenden Code in das Feld 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 

Hier, in der R eminder_From_Decimal_Number Unterprozedur, Ich habe die Variable n als Integer und verwendet es, um den zurückgegebenen Wert der Mod Betreiber.

Als Nächstes wird die Zellreferenz verwendet B5 als Nummer1 und C5 als Zahl2 (Divisor)

Dann wurde die MsgBox zur Anzeige der Restbetrag .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Zum Einfügen der Schaltfläche führen Sie die in Abschnitt 1 beschriebenen Schritte aus.

➤ Ich habe die Schaltfläche Erinnerung aus Dezimalzahl .

Klicken Sie anschließend auf die Schaltfläche Schaltfläche zur Ausführung der VBA Code.

Daher erhalten Sie die Restbetrag für die Dezimalzahl .

Es gibt jedoch ein Problem, das VBA rundet auf die dezimal Hier sollte das Ergebnis lauten 2.25 aber die VBA Mod gerundet auf 2 .

Denken Sie daran, wenn eine dezimal/fließend Punkt ist größer als 0.5 im VBA Mod dann wird es aufgerundet auf den nächsten ganzzahligen Wert.

Wenn sie weniger als 0.5 im VBA Mod dann wird es aufgerundet auf den vorhandenen ganzzahligen Wert.

Lesen Sie mehr: Verwendung der VBA-Funktion Int in Excel (3 Beispiele)

Ähnliche Lektüre:

  • Verwendung der IsNull-Funktion in Excel VBA (5 Beispiele)
  • VBA Str-Funktion in Excel verwenden (4 Beispiele)
  • Verwendung der VBA Switch-Funktion (6 geeignete Beispiele)
  • VBA Len-Funktion in Excel verwenden (4 Beispiele)
  • Duplikate in Excel-Blättern entfernen (7 Methoden)

6 VBA Mod verwenden, wenn Divisor und Zahl beide Dezimalzahlen sind

Wenn Ihr Divisor und Nummer beide sind in dezimal/float Typ, dann können Sie auch die VBA Mod Betreiber.

Zum Öffnen des VBA Editor, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

Geben Sie dann den folgenden Code in das Feld 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 

Hier, in der Unterprozedur Dezimal_beide_Divisor_Zahl, Ich habe die Variable n als Integer und verwendet es, um den zurückgegebenen Wert der Mod Betreiber.

Als Nächstes wird der Zellbezug verwendet B5 als Nummer1 und C5 als Zahl2 (Divisor)

Dann wurde die MsgBox zur Anzeige der Restbetrag .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Zum Einfügen der Schaltfläche, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

➤ Ich habe die Schaltfläche Siehe Erinnerung von Wenn Divisor & Zahl Dezimal .

Klicken Sie anschließend auf die Schaltfläche Schaltfläche zum Ausführen der VBA Code.

Daher erhalten Sie die Restbetrag für beide Dezimaldivisor und Zahlen .

Es gibt jedoch ein Problem, das VBA rundet die dezimal Hier sollte das Ergebnis lauten 1.75 aber die VBA Mod gerundet auf 2 .

Verwandte Inhalte: VBA EXP-Funktion in Excel (5 Beispiele)

7 VBA Mod zum Aufrunden von Dezimalzahlen größer als 0,5

Hier werde ich Ihnen zeigen, wie die zusammentrommeln arbeitet im VBA Mod .

Um Ihnen zu zeigen, dass die dezimal Punktproblem zu lösen, werde ich zunächst die Restbetrag unter Verwendung der Excel MOD Funktion.

In der Zelle D4 geben Sie die folgende Formel ein,

=MOD(B6, C6)

Hier habe ich B6 als Nummer C6 als Divisor .

Drücken Sie dann EINGEBEN um die Restbetrag und Sie erhalten die Restbetrag die sein werden 7.7 .

Rechnen wir nun durch VBA Mod zum Öffnen des VBA Editor die in Abschnitt 1 erläuterten Schritte durchführen.

Geben Sie dann den folgenden Code in das Feld 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 

Hier, in der Unterprozedur Dezimal_beide_Divisor_Zahl, Ich habe die Variable n als Integer und verwendet es, um den zurückgegebenen Wert der Mod Betreiber.

Als Nächstes wird die Zellreferenz verwendet B6 als Nummer1 und C6 als Zahl2 (Divisor)

Dann wurde die MsgBox zur Anzeige der Restbetrag .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Zum Einfügen der Schaltfläche führen Sie die in Abschnitt 1 beschriebenen Schritte aus.

➤ Ich habe die Schaltfläche Aufrunden Dezimalzahl .

Klicken Sie anschließend auf die Schaltfläche Schaltfläche zur Ausführung der VBA Code.

Daher erhalten Sie die Restbetrag für die verwendete Zellreferenz.

Schauen Sie sich genau die Restbetrag dass die VBA Mod zurückgegeben. MOD Funktion für die gleichen Werte zurückgegeben 7.7 aber die VBA Mod zurückgegebener Operator 0 Da die VBA die Werte gerundet.

Lesen Sie mehr: Verwendung der VBA Round-Funktion in Excel (6 schnelle Anwendungen)

8. eine gerade oder ungerade Zahl bestimmen

Die VBA Mod bestimmt auch die Sogar oder Ungewöhnlich Nummer aus einem bestimmten Bereich.

Zum Öffnen des VBA Editor, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

Geben Sie dann den folgenden Code in das Feld 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 & " ist eine gerade Zahl!" Else MsgBox n & " ist eine ungerade Zahl!" End If Next n End Sub 

Hier, in der Unterprozedur Determine_Even_Or_Odd, Ich habe die Variable n als Integer .

Dann habe ich eine Für Schleife, in der ich den Wert beibehalten habe, den ich durch den Zellbezug angegeben habe.

Als Nächstes habe ich eine IF Funktion, bei der ich die Kriterien wie folgt festgelegt habe n Mod 2 = 0 wenn der Wert wahr ist, wird ein Sogar Anweisung sonst Ungewöhnlich .

Dann wurde die MsgBox zur Anzeige der Aussagen .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Zum Einfügen der Schaltfläche führen Sie die in Abschnitt 1 beschriebenen Schritte aus.

➤ Ich habe die Schaltfläche Gerade oder Ungerade .

Klicken Sie anschließend auf die Schaltfläche Schaltfläche zum Ausführen der VBA Code.

Daher erfahren Sie, welcher Wert Sogar und welche davon ist Ungewöhnlich .

Hier, 1 ist die Ungewöhnlich Nummer.

Hier, 2 ist die Sogar Nummer.

Lesen Sie mehr: VBA If - Then - Else-Anweisung in Excel (4 Beispiele)

9 Zellbereich in VBA Mod verwenden, um den Rest zu erhalten

Sie können auch die Zellbereich um die Restbetrag durch die Verwendung der VBA Mod .

Zum Öffnen des VBA Editor, folgen Sie den in Abschnitt 1 beschriebenen Schritten.

Geben Sie dann den folgenden Code in das Feld 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 

Hier, in der Get_Reminder_UsingVBA-Unterprozedur, Ich habe die Variable n als Integer .

Dann habe ich eine Für Schleife, in der ich den Wert beibehalten habe, den ich durch Zellreferenz deklariert habe. Die Schleife funktioniert für die Werte der Zeilen 4 zu 9 .

Dann wurde die MsgBox zur Anzeige der Restbetrag .

Jetzt, Speichern Sie den Code und kehren Sie zum Arbeitsblatt zurück.

Zum Einfügen der Schaltfläche führen Sie die in Abschnitt 1 beschriebenen Schritte aus.

➤ Ich habe die Schaltfläche Dynamische Zellenreferenz .

Klicken Sie anschließend auf die Schaltfläche Schaltfläche zur Ausführung der VBA Code.

Daher erhalten Sie die Restbetrag für alle verwendeten Werte, einen nach dem anderen.

Die erste ist für die Nummer 29 wo die Divisor ist 3 .

Die 2. ist für die Nummer -47 wo die Divisor ist 5 .

Die Schleife arbeitet, bis sie die Zeile 9 Der fünfte ist für die Nummer 59 wo die Divisor ist 6 .

Verwandte Inhalte: Verwendung der VBA-Funktion Randomize in Excel (5 Beispiele)

Unterschied zwischen Excel MOD & VBA Mod

Obwohl in den meisten Fällen die Rückgabewerte für die MOD Funktion und die VBA Mod In einigen Fällen weichen die Ergebnisse jedoch voneinander ab. Ich möchte Ihnen den Unterschied zwischen den beiden aufzeigen.

MOD Funktion VBA Mod Betreiber
Die MOD Funktion gibt sowohl Integer und Dezimal Zahlen. Mod Operator gibt nur zurück Integer Zahlen.
Bei der Verwendung eines negativ Nummer in MOD gibt es keine negatives Vorzeichen . Sie unterstützt negativ Zahlen und gibt dann die negatives Vorzeichen .

Dinge zum Merken

🔺 Der Betreiber rundet die dezimal/fließend Punkte.

Praxisteil

In der Arbeitsmappe ist ein Übungsblatt enthalten, mit dem Sie die erklärten Beispiele üben können.

Schlussfolgerung

In diesem Artikel habe ich 9 Beispiele für die Excel VBA Mod Ich habe auch versucht, die Gründe für die häufige Anzeige von Fehlern zu behandeln. Zusammen mit den Dingen, die Sie sich merken müssen, während Sie den Operator verwenden. Fühlen Sie sich frei, unten für alle Arten von Fragen und Anregungen zu kommentieren.

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.