Função de arredondamento do Excel VBA
A função de arredondamento em VBA é uma função matemática que, como o próprio nome sugere, ela arredonda para cima ou para baixo o número fornecido para o conjunto específico de casas decimais especificado pelo usuário. referência e qualquer número com o último dígito após o decimal for inferior a 5, então é arredondado para baixo e vice-versa.
Você pode arredondar um número para um decimal de dois dígitos, um decimal de três dígitos ou nenhum decimal. Por exemplo, se você tiver o número 5,8697. Se você arredondar o número para um decimal de dois dígitos, ele será 5,87; se você arredondar para três dígitos, ele será arredondado para 5,870; se você deseja arredondar para zero, então será 6.-
Nos números bancários, todas as casas decimais inferiores a 0,5 serão arredondadas para baixo para o valor inteiro anterior e todas as casas decimais superiores ou iguais a 0,5 serão arredondadas para o valor inteiro seguinte.
Espero que você tenha usado a função ROUND na planilha. No VBA também podemos usar essa função, mas temos uma diferença com essas funções. Veremos a diferença entre essas duas funções posteriormente neste artigo.
Sintaxe
Dê uma olhada na sintaxe da função Round.
Número: este é o número que estamos tentando arredondar.
[Número de dígitos após o decimal]: quantos dígitos você precisa após o valor decimal.
Exemplos
Você pode baixar este modelo de função redonda do VBA aqui - modelo de função redonda do VBASuponha que você tenha o número 4.534 e deseja arredondar para dois dígitos.
Siga as etapas abaixo.
Etapa 1: declare a variável como variante.
Código:
Sub Round_Example1 () Dim K As Variant End Sub
Passo 2: Para esta variável “ k ” atribua o valor através da função ROUND.
Código:
Sub Round_Example1 () Dim K As Variant K = Round (End Sub
Etapa 3: o número nada mais é que o número que estamos tentando arredondar, neste caso, o número é 4,534
Código:
Sub Round_Example1 () Dim K As Variant K = Round (4.534, End Sub
Etapa 4: quantos dígitos precisamos arredondar, neste caso, precisamos arredondar para 2 dígitos .
Código:
Sub Round_Example1 () Dim K As Variant K = Round (4.534, 2) End Sub
Passo 5: Agora mostre o valor da variável “k” na caixa de mensagem VBA.
Código:
Sub Round_Example1 () Dim K As Variant K = Round (4.534, 2) MsgBox K End Sub
Execute este código e veja o que obtemos.
Obtivemos o resultado de 4,53 quando arredondamos para 2 dígitos.
Agora vou mudar o número de 4.534 para 4.535 . Veja o que acontece agora.
Código:
Sub Round_Example1 () Dim K As Variant K = Round (4.535, 2) MsgBox K End Sub
Agora execute o código e veja qual é o resultado.
Obtivemos o resultado como 4,54 uma casa decimal acima do valor anterior de 4,53. Isso ocorre porque, neste exemplo, fornecemos o número 4.535, portanto, após o número 3, o próximo número é 5, então ele é arredondado para o próximo número, então 3 se torna 4.
Agora, fornecerei o número 2,452678 e tentarei arredondar para 3 dígitos.
Código:
Sub Round_Example2 () Dim K As Variant K = Round (2.452678, 3) MsgBox K End Sub
Execute este código para ver o resultado.
O resultado é 2,453 .
2,45 2678 Aqui, os números após a 2ª casa decimal são 2678. Depois do número 2, o próximo número é 6, que é maior ou igual a 5, portanto, é arredondado para cima no próximo número decimal.
Agora usarei o mesmo número para arredondar para zero e ver o que acontece.
Código:
Sub Round_Example3 () Dim K As Variant K = Round (2.452678, 0) MsgBox K End Sub
Execute o código e veja o que obtemos.
Como usei o arredondamento para zero, obtivemos o resultado 2.
A razão pela qual obtivemos o resultado como 2 é que aqui o primeiro número decimal é 4, que é menor que 0,5, por isso é arredondado para baixo.
Diferença entre Excel e função VBA ROUND
Existem basicamente 2 diferenças.
# 1 - Sintaxe de ambas as funções:
Se você olhar a sintaxe de ambas as funções, temos uma diferença aqui.
Sintaxe de arredondamento do Excel: redondo (número, número de dígitos após decimal)
VBA Round Sintaxe: Round (Número, [Número de Dígitos Após Decimal])
No Excel, os dois argumentos são obrigatórios, mas no VBA o segundo argumento é opcional.
No VBA, se você ignorar o segundo argumento, o argumento padrão será zero, então obteremos o número inteiro.
# 2 - Resultados:
O resultado dado por essas duas funções são diferentes. Abaixo estão alguns exemplos