VBA MOD

Excel VBA MOD Operator

In VBA ist MOD dasselbe wie in der Anwendung in der Mathematik. Wenn eine Zahl durch ihren Teiler geteilt wird und wir eine Erinnerung von dieser Teilung erhalten, wird diese Funktion verwendet, um uns den Rest der Teilung zu geben. Sie ist keine Funktion in VBA als es ist ein Operator.

MOD ist nichts anderes als MODULO ist eine mathematische Operation. Es ist genau das gleiche wie die Division, aber das Ergebnis ist etwas anders, wenn die Division den geteilten Betrag nimmt, während MOD den Rest der Division übernimmt. Zum Beispiel: Wenn Sie 21 durch 2 teilen, ist das Ergebnis 10,50 durch MOD der Rest der Division, dh 1. (Nummer 2 kann nur 20 teilen, nicht 21, der Rest ist also 1).

Im normalen Excel ist es eine Funktion, aber in VBA ist es keine Funktion, es ist nur ein mathematischer Operator. In diesem Artikel werden wir diesen Operator im Detail untersuchen.

Syntax

Nur um Sie daran zu erinnern, dass dies keine Funktion mit Syntax ist. Zum Verständnis unseres Lesers möchte ich es ins Wort bringen.

 Nummer 1 MOD Nummer 2 (Divisor) 

Nummer 1 ist nichts anderes als die Zahl, die wir zu teilen versuchen.

Nummer 2 Dies ist der Teiler, dh wir werden Nummer 1 durch diesen Teiler teilen .

MOD das Ergebnis von Nummer 1 / Nummer 2.

Wie verwende ich MOD in VBA?

Sie können diese VBA MOD-Funktionsvorlage hier herunterladen - VBA MOD-Funktionsvorlage

Beispiel 1

Befolgen Sie die folgenden Schritte, um den Code zu schreiben.

Schritt 1: Erstellen Sie einen Makronamen.

Code:

 Sub MOD_Example1 () End Sub 

Schritt 2: Definieren Sie eine der Variablen als " Integer ".

Code:

 Sub MOD_Example1 () Dim i As Integer End Sub 

Schritt 3: Führen Sie nun die Berechnung als "i = 20 MOD 2" durch.

Wie ich bereits sagte, ist MOD am Anfang ein Operator, keine Funktion. Also habe ich das Wort MOD so verwendet, wie ich ein Plus (+) eingebe.

Code:

 Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 End Sub 

Schritt 4: Weisen Sie nun dem Meldungsfeld den Wert „I“ zu.

Code:

 Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 MsgBox i End Sub 

Schritt 5: Führen Sie das Code-Meldungsfeld aus, um den Wert von "I" anzuzeigen.

Beispiel 2

Mod in vba gibt immer einen ganzzahligen Wert zurück, dh ohne Dezimalstellen, wenn Sie die Zahl in Dezimalstellen angeben. Schauen Sie sich zum Beispiel den folgenden Code an.

Code:

 Sub MOD_Example2 () Dim i As Integer i = 26,25 Mod 3 MsgBox i End Sub 

Divisor 3 kann 24 teilen, so dass der Rest hier 2,25 ist, aber der MOD-Operator gibt den ganzzahligen Wert zurück, dh 2, nicht 2,25.

Jetzt werde ich die Zahl auf 26,51 ändern und den Unterschied sehen.

Code:

 Sub MOD_Example2 () Dim i As Integer i = 26,51 Mod 3 MsgBox i End Sub 

Ich werde diesen Code ausführen und sehen, was das Ergebnis ist.

Beeindruckend!!! Wir haben Null als Antwort. Der Grund, warum wir Null bekommen haben, weil VBA die Zahlen wie unsere Banker rundet, dh jeder Dezimalpunkt, der größer als 0,5 ist, wird auf den nächsten ganzzahligen Wert aufgerundet. In diesem Fall wird 26.51 auf 27 aufgerundet.

Da 3 die 27 durch 9 teilen kann, erhalten wir keine Restwerte, sodass der Wert von i gleich Null ist.

Jetzt werde ich den Divisorwert auch in Dezimalstellen angeben.

Code:

 Sub MOD_Example2 () Dim i As Integer i = 26,51 Mod 3.51 MsgBox i End Sub 

Schritt 6: Führen Sie diesen Code aus und sehen Sie, was das Ergebnis ist.

Wir haben 3 als Antwort erhalten, da 26,51 auf 27 und der Divisorwert 3,51 auf 4 aufgerundet wird.

Wenn Sie also 27 durch 4 teilen, ist der Rest 3.

Excel MOD-Funktion gegen VBA MOD-Operator

Schritt 1:  Sehen Sie sich nun den Unterschied zwischen dem Excel- und dem VBA MOD-Operator an. Ich habe einen Wert von 54,24 und der Divisor-Wert ist 10.

Schritt 2:  Wenn ich jetzt die MOD-Funktion anwende, erhalte ich das Ergebnis als 4.25.

Schritt 3:  Wenn Sie jedoch dieselbe Operation mit VBA ausführen, erhalten wir 4 als Rest, nicht 4,25.

Code:

 Sub MOD_Example2 () Dim i As Integer i = 54,25 Mod 10 MsgBox i End Sub 

Schritt 4:  Führen Sie diesen Code aus und sehen Sie, was das Ergebnis ist.

Dinge, an die man sich erinnern sollte

  • Es ist keine Funktion, sondern ein arithmetischer Operator.
  • Dies ist eine Aufrundung und Abrundung von Dezimalwerten im Gegensatz zur MOD-Funktion in der Arbeitsblattfunktion.