Função VBA ROUND

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 VBA

Suponha 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