VBA MOD

Operador Excel VBA MOD

No VBA MOD é o mesmo que na aplicação em matemática, quando um número é dividido pelo seu divisor e obtemos um lembrete dessa divisão, esta função é usada para nos dar o resto da divisão, não é uma função em VBA, ao invés do que um operador.

MOD não é nada, mas MODULO é uma operação matemática. É exatamente o mesmo que a divisão, mas o resultado é ligeiramente diferente, onde a divisão leva a quantidade dividida, mas o MOD leva o restante da divisão. Por exemplo: Se você dividir 21 por 2, o resultado da divisão é 10,50 por MOD é o resto da divisão, ou seja, 1. (O número 2 pode dividir apenas 20, não 21, então o resto é 1).

No Excel normal, é uma função, mas no VBA não é uma função, é apenas um operador matemático. Neste artigo, examinaremos esse operador em detalhes.

Sintaxe

Só para lembrá-lo que esta não é uma função que tenha sintaxe. Para o entendimento do nosso leitor, deixe-me colocar isso na palavra.

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

O número 1 nada mais é do que o número que estamos tentando dividir.

Número 2 é o divisor, ou seja, vamos dividir o Número 1 por este divisor.

MOD o resultado dado pelo Número 1 / Número 2.

Como usar MOD no VBA?

Você pode baixar este modelo de função VBA MOD aqui - modelo de função VBA MOD

Exemplo 1

Siga as etapas abaixo para escrever o código.

Etapa 1: Crie um nome de macro.

Código:

 Sub MOD_Example1 () End Sub 

Passo 2: Defina uma das variáveis ​​como “ Inteiro ”.

Código:

 Sub MOD_Example1 () Dim i As Integer End Sub 

Etapa 3: Agora execute o cálculo como “i = 20 MOD 2”

Como eu disse, no início, MOD é um operador, não uma função. Usei a palavra MOD como quando insiro um sinal de mais (+).

Código:

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

Etapa 4: Agora atribua o valor “I” à caixa de mensagem.

Código:

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

Etapa 5: Execute a caixa de mensagem de código que mostrará o valor de “I”.

Exemplo # 2

Mod em vba sempre retorna um valor inteiro, ou seja, sem decimais se você fornecer o número em decimais. Por exemplo, observe o código abaixo.

Código:

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

O divisor 3 pode dividir 24, então o restante aqui é 2,25, mas o operador MOD retorna o valor inteiro, ou seja, 2, não 2,25.

Agora vou modificar o número para 26,51 e ver a diferença.

Código:

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

Vou rodar este código e ver qual é o resultado.

Uau!!! Temos zero como resposta. A razão de termos zero é que o VBA arredondou os números como nossos banqueiros, ou seja, qualquer casa decimal maior que 0,5 será arredondada para o próximo valor inteiro. Portanto, neste caso, 26,51 é arredondado para 27.

Como 3 pode dividir 27 por 9, não obteremos nenhum valor restante, então o valor de i é igual a zero.

Agora irei fornecer o valor do divisor também em casas decimais.

Código:

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

Etapa 6: execute este código e veja qual é o resultado.

Obtivemos 3 como resposta porque 26,51 será arredondado para 27 e o valor do divisor 3,51 será arredondado para 4.

Então, se você dividir 27 por 4, o resto é 3.

Função Excel MOD vs Operador VBA MOD

Etapa 1:  Agora, dê uma olhada na diferença entre o operador do Excel e o VBA MOD. Eu tenho um valor de 54,24 e o valor do divisor é 10.

Passo 2:  Agora, se eu aplicar a função MOD, obterei o resultado de 4,25.

Etapa 3:  Mas se você fizer a mesma operação com o VBA, obteremos 4 como o restante, não 4,25.

Código:

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

Etapa 4:  execute este código e veja qual é o resultado.

Coisas para lembrar

  • Não é uma função, mas é um operador aritmético.
  • Este é o arredondamento para cima e para baixo os valores decimais, ao contrário da função MOD na função de planilha.