VBA-Äquivalent zu Excel's mod-Funktion

Gibt es ein VBA-Äquivalent zu Excel' s "mod" Funktion?

In vba ist die Funktion MOD. z.B.

 5 MOD 2

Hier ist ein nützlicher Link.

Kommentare (3)
Lösung

Sie brauchen den mod-Operator.

The expression a Mod b is equivalent to the following formula:

a - (b * (a \ b))

Bearbeitet um hinzuzufügen:

Es gibt einige Sonderfälle, die Sie beachten müssen, da Excel mit Fließkommazahlen rechnet (und einen "Float" zurückgibt), während die VBA-Funktion eine ganze Zahl zurückgibt. Aus diesem Grund kann die Verwendung von "mod" mit Fließkommazahlen besondere Aufmerksamkeit erfordern:

  • Excel's Ergebnisse entsprechen möglicherweise nicht genau dem, was Sie vorhersagen würden; dies wird kurz hier (siehe oberste Antwort) und sehr ausführlich hier behandelt.

  • Wie @André in den Kommentaren anmerkt, können negative Zahlen in die entgegengesetzte Richtung gerundet werden, als Sie erwarten. Die von ihm vorgeschlagene Funktion Fix() wird hier (MSDN) erklärt.

Kommentare (4)

Der Mod-Operator entspricht in etwa der MOD-Funktion:

Zahl-Mod-Divisor" ist in etwa äquivalent zu "MOD(Zahl, Divisor)".

Kommentare (0)