Excel VBA MOD-operator
In VBA is MOD hetzelfde als voor de toepassing in de wiskunde, wanneer een getal wordt gedeeld door zijn deler en we een herinnering krijgen van die divisie, wordt deze functie gebruikt om ons die rest van de divisie te geven, het is eerder geen functie in VBA dan is het een operator.
MOD is niets anders dan MODULO is een wiskundige bewerking. Het is precies hetzelfde als de deling, maar het resultaat is iets anders wanneer deling de gedeelde hoeveelheid neemt, maar MOD de rest van de deling. Bijvoorbeeld: Als u 21 door 2 deelt, is het resultaat 10.50 door MOD is de rest van de deling, dwz 1. (Nummer 2 kan alleen 20 delen, niet 21, dus de rest is 1).
In het normale Excel is het een functie, maar in VBA is het geen functie. Het is gewoon een wiskundige operator. In dit artikel zullen we deze operator in detail bekijken.

Syntaxis
Om u eraan te herinneren, dit is geen functie om syntaxis te hebben. Voor het begrip van onze lezer, wil ik het in het woord zeggen.
Nummer 1 MOD Nummer 2 (deler)
Nummer 1 is niets anders dan het nummer dat we proberen te delen.
Nummer 2 dit is de deler, dwz we gaan nummer 1 delen door deze deler.
MOD het resultaat gegeven door nummer 1 / nummer 2.
Hoe gebruik je MOD in VBA?
Voorbeeld 1
Volg de onderstaande stappen om de code te schrijven.
Stap 1: Maak een macronaam.
Code:
Sub MOD_Example1 () Einde Sub
Stap 2: definieer een van de variabelen als ' Geheel getal' .
Code:
Sub MOD_Example1 () Dim i As Integer End Sub
Stap 3: Voer nu de berekening uit als "i = 20 MOD 2".
Zoals ik in het begin al zei, is MOD een operator, geen functie. Dus ik heb het woord MOD gebruikt zoals hoe ik een plus (+) typ.
Code:
Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 End Sub
Stap 4: Wijs nu de waarde van "I" toe aan het berichtvenster.
Code:
Sub MOD_Example1 () Dim i As Integer i = 21 Mod 2 MsgBox i End Sub
Stap 5: Voer het codeberichtvenster uit en de waarde van "I."

Voorbeeld 2
Mod in VBA retourneert altijd een geheel getal, dwz zonder decimalen als u het getal in decimalen opgeeft. Kijk bijvoorbeeld naar de onderstaande code.
Code:
Sub MOD_Example2 () Dim i As Integer i = 26.25 Mod 3 MsgBox i End Sub
Deler 3 kan 24 delen, dus de rest hier is 2,25, maar de MOD-operator retourneert de gehele waarde, dwz 2, niet 2,25.

Nu zal ik het nummer wijzigen in 26.51 en het verschil zien.
Code:
Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3 MsgBox i End Sub
Ik zal deze code uitvoeren en kijken wat het resultaat is.

Wauw!!! We hebben nul als antwoord. De reden dat we nul kregen, omdat VBA de getallen afrondt zoals onze bankiers doen, dat wil zeggen, elk decimaalteken dat groter is dan 0,5 zal naar boven worden afgerond naar het volgende gehele getal. In dit geval wordt 26,51 dus naar boven afgerond naar 27.
Omdat 3 de 27 kan delen door 9, krijgen we geen restwaarden, dus de waarde van i is gelijk aan nul.
Nu zal ik de delerwaarde ook in decimalen opgeven.
Code:
Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3.51 MsgBox i End Sub
Stap 6: Voer deze code uit en kijk wat het resultaat is.

We hebben 3 als antwoord omdat 26,51 naar boven wordt afgerond naar 27 en de delerwaarde 3,51 naar boven wordt afgerond naar 4.
Dus als je 27 door 4 deelt, is de rest 3.
Excel MOD-functie versus VBA MOD-operator
Stap 1: Bekijk nu het verschil tussen Excel en VBA MOD-operator. Ik heb een waarde van 54,24 en de delerwaarde is 10.

Stap 2: Als ik nu de MOD-functie toepas, krijg ik het resultaat als 4.25.

Stap 3: Maar als u dezelfde bewerking uitvoert met VBA, krijgen we 4 als de rest, niet 4,25.
Code:
Sub MOD_Example2 () Dim i As Integer i = 54.25 Mod 10 MsgBox i End Sub
Stap 4: Voer deze code uit en kijk wat het resultaat is.

Dingen om te onthouden
- Het is geen functie, maar het is een rekenkundige operator.
- Dit is een afronding en rondt decimale waarden af, in tegenstelling tot de MOD-functie in de werkbladfunctie.