VBA MOD

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 de normale Excel is het een functie, maar in VBA is het geen functie, het is slechts een wiskundige operator. In dit artikel zullen we deze operator in detail bekijken.

Syntaxis

Om u eraan te herinneren dat dit geen functie is 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?

U kunt deze VBA MOD-functiesjabloon hier downloaden - VBA MOD-functiesjabloon

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 “ Integer ”.

Code:

 Sub MOD_Example1 () Dim i As Integer End Sub 

Stap 3: Voer nu de berekening uit als "i = 20 MOD 2"

Zoals ik al zei, is MOD in het begin 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" wordt weergegeven.

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 is hier 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, dwz 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 op 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.