MOD de VBA

Operador Excel VBA MOD

En VBA MOD es lo mismo que para la aplicación en matemáticas, cuando un número se divide por su divisor y obtenemos un recordatorio de esa división, esta función se usa para darnos el resto de la división, no es una función en VBA más bien de lo que es un operador.

MOD no es más que MODULO es una operación matemática. Es exactamente igual que la división pero el resultado es ligeramente diferente donde la división toma la cantidad dividida pero MOD toma el resto de la división. Por ejemplo: si divide 21 entre 2, el resultado de la división es 10,50 por MOD es el resto de la división, es decir 1. (El número 2 puede dividir solo 20, no 21, por lo que el resto es 1).

En el Excel normal, es una función, pero en VBA no es una función, es solo un operador matemático. En este artículo, analizaremos este operador en detalle.

Sintaxis

Solo para recordarle que esta no es una función para tener sintaxis. Para la comprensión de nuestro lector, permítanme ponerlo en la palabra.

 Número 1 MOD Número 2 (Divisor) 

El número 1 no es más que cuál es el número que estamos tratando de dividir.

Número 2 este es el divisor, es decir, vamos a dividir el número 1 por este divisor.

MOD el resultado dado por Número 1 / Número 2.

¿Cómo usar MOD en VBA?

Puede descargar esta plantilla de función VBA MOD aquí - Plantilla de función VBA MOD

Ejemplo 1

Siga los pasos a continuación para escribir el código.

Paso 1: crea un nombre de macro.

Código:

 Sub MOD_Example1 () End Sub 

Paso 2: Defina una de las variables como " Entero ".

Código:

 Sub MOD_Example1 () Dim i As Integer End Sub 

Paso 3: Ahora realice el cálculo como "i = 20 MOD 2"

Como dije, al principio, MOD es un operador, no una función. Así que he usado la palabra MOD como si ingrese un signo más (+).

Código:

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

Paso 4: Ahora asigne el valor de "I" al cuadro de mensaje.

Código:

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

Paso 5: Ejecute el cuadro de mensaje de código que mostrará el valor de "I".

Ejemplo # 2

Mod en vba siempre devuelve un valor entero, es decir, sin decimales si proporciona el número en decimales. Por ejemplo, mire el siguiente código.

Código:

 Sub MOD_Example2 () Dim i As Integer i = 26.25 Mod 3 MsgBox i End Sub 

El divisor 3 puede dividir 24, por lo que el resto aquí es 2,25, pero el operador MOD devuelve el valor entero, es decir, 2, no 2,25.

Ahora modificaré el número a 26,51 y veré la diferencia.

Código:

 Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3 MsgBox i End Sub 

Ejecutaré este código y veré cuál es el resultado.

¡¡¡Guau!!! Tenemos cero como respuesta. La razón por la que obtuvimos cero porque VBA redondea los números como lo hacen nuestros banqueros, es decir, cualquier punto decimal que sea mayor que 0.5 se redondeará al siguiente valor entero. Entonces, en este caso, 26,51 se redondea a 27.

Dado que 3 puede dividir 27 entre 9, no obtendremos ningún valor restante, por lo que el valor de i es igual a cero.

Ahora proporcionaré el valor del divisor también en puntos decimales.

Código:

 Sub MOD_Example2 () Dim i As Integer i = 26.51 Mod 3.51 MsgBox i End Sub 

Paso 6: Ejecute este código y vea cuál es el resultado.

Obtuvimos 3 como respuesta porque 26,51 se redondeará a 27 y el valor del divisor 3,51 se redondeará a 4.

Entonces, si divide 27 entre 4, el resto es 3.

Función MOD de Excel vs Operador MOD de VBA

Paso 1:  Ahora eche un vistazo a la diferencia entre Excel y el operador MOD de VBA. Tengo un valor de 54,24 y el valor del divisor es 10.

Paso 2:  Ahora, si aplico la función MOD, obtendré el resultado como 4.25.

Paso 3:  Pero si realiza la misma operación con VBA, obtendremos 4 como resto, no 4.25.

Código:

 Sub MOD_Example2 () Dim i As Integer i = 54.25 Mod 10 MsgBox i End Sub 

Paso 4:  Ejecute este código y vea cuál es el resultado.

Cosas para recordar

  • No es una función, pero es un operador aritmético.
  • Esto es un resumen y redondea hacia abajo los valores decimales a diferencia de la función MOD en la función de la hoja de trabajo.