Função redonda do VBA do Excel

Você deve ter usado a função Arredondar do Excel para arredondar os números flutuantes até um número específico de casas decimais. A função Rodada do VBA se comporta totalmente de maneira diferente daquela usada no Excel. A função Round do VBA usa a lógica "round to even". Se o número que você está tentando arredondar tiver o último dígito após decimal> = 0, 6, a função Arredondar VBA o arredondará (Arredondar para Cima).

Se o número que você está tentando arredondar tiver o último dígito após decimal <= 0, 4, ele o arredondará para baixo (arredondar para baixo). Suponha que a parte decimal seja exatamente 0, 5 e o que ela faz? Nesses casos, ele verifica com a parte inteira do número. Se a parte inteira for par, ela será arredondada para o número par da parte decimal. Se a parte inteira for ímpar, ela será arredondada para o número par. Esse método de arredondamento também é chamado de "arredondamento do banqueiro".

Sintaxe da função Round no Excel VBA

A função Round do VBA possui a seguinte sintaxe:

Onde,

  • Expressão - O número flutuante que você deseja arredondar.
  • Decimal_places - É um argumento opcional que aceita um valor inteiro que especifica as casas decimais até as quais o número deve ser redondo. Sempre deve ser maior ou igual a zero. Se não especificado, por padrão, zero é considerado. O que significa que um número é arredondado para um número inteiro.

Como usar a função Round VBA do Excel?

Aprenderemos como usar uma função VBA Round com alguns exemplos no Excel.

Você pode fazer o download deste modelo VBA Round Excel aqui - Modelo VBA Round Excel

Exemplo # 1 - Função de arredondamento do VBA para arredondar um número

Siga as etapas abaixo para usar a função Round no Excel VBA.

Etapa 1: Insira um novo módulo no Visual Basic Editor (VBE).

Etapa 2: defina um novo subprocedimento para armazenar uma macro no VBE.

Código:

 Sub Round_Ex1 () End Sub 

Etapa 3: Use a função MsgBox para poder exibir uma mensagem como esta "O valor arredondado é:"

Código:

 Sub Round_Ex1 () MsgBox "O valor arredondado é:" End Sub 

Etapa 4: Agora, adicione "& Round (10.9834, 2)" na frente do comando MsgBox, para que o valor arredondado seja mostrado na caixa de mensagem.

Código:

 Sub Round_Ex1 () MsgBox "O valor arredondado é:" & Round (10.9834, 2) End Sub 

Etapa 5: Pressione F5 ou o botão Executar, localizado no painel superior para executar este código. Você verá uma saída conforme mostrado abaixo.

Exemplo # 2 - Arredondar uma variável usando a VBA Arredondada

Etapa 1: defina um novo subprocedimento no VBE para armazenar uma macro.

Código:

 Sub Round_Ex2 () End Sub 

Etapa 2: defina uma variável chamada roundNumber como Double, que pode conter o valor do número a ser arredondado.

Código:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

Etapa 3: atribua um valor numérico que deve ser arredondado para essa variável usando o operador de atribuição.

Código:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 End Sub 

Etapa 4: use uma combinação de MsgBox junto com a função Arredondar para arredondar esse número até um ponto decimal.

Código:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 MsgBox "O número arredondado é:" & Round (roundNumber, 1) End Sub 

Etapa 5: pressione F5 ou o botão Executar para executar este código e ver a saída.

Você pode ver uma saída como mostrado na captura de tela acima. Observe que, com a lógica de “arredondar para par”, o último decimal é arredondado para 10 e o próximo decimal se torna 10, devido ao qual o número é arredondado para a parte par mais próxima do número inteiro (ou seja, 24).

Exemplo # 3 - Arredondar o valor da célula usando a VBA Arredondada

Suponha que o valor que você deseja arredondar seja armazenado em uma célula da planilha do Excel.

Tudo o que você deseja é arredondar esse valor até duas casas decimais.

Etapa 1: defina um novo subprocedimento em um módulo para armazenar a macro.

Código:

 Sub Round_Ex3 () End Sub 

Etapa 2: Escreva o comando como "Intervalo (" A2 "). Valor =". Este comando funciona como um local onde a saída será armazenada.

Código:

 Sub Round_Ex3 () Intervalo ("A2"). Valor = Final Sub 

Etapa 3: Agora, use uma função round para arredondar o valor presente na célula A1 e armazenar o resultado na célula A2. Escreva o seguinte trecho de código: Redondo (Intervalo (“A1”). Valor, 2).

Código:

 Sub Round_Ex3 () Intervalo ("A2"). Valor = Round (Intervalo ("A1"). Valor, 2) End Sub 

Etapa 4: Pressione F5 ou o botão Executar para executar esse código e ver a saída na célula A2 da sua planilha.

Exemplo # 4 - Arredondar um número usando a função Roundup do VBA

Suponha que você queira arredondar um número usando o VBA. Você pode fazer isso usando a função WorksheetFunction.RoundUp.

Etapa 1: defina um novo sub-procedimento no Editor do Visual Basic que pode armazenar sua macro.

Código:

 Sub Round_Ex4 () End Sub 

Etapa 2: defina duas variáveis, uma para conter o número que você deseja arredondar. E o outro para armazenar o resultado do ajuntamento.

Código:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double End Sub 

Etapa 3: armazene um valor na variável numToRound que você deseja arredondar.

Código:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 End Sub 

Etapa 4: Agora, use RoundUp para arredondar esse número e armazenar o resultado em uma variável numRoundUp.

Código:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) End Sub 

Etapa 5: Use MsgBox para mostrar a saída na caixa de mensagem.

Código:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "O número arredondado é:" & numRoundUp End Sub 

Etapa 6: Pressione F5 ou o botão Executar para executar este código e ver a saída.

Exemplo # 5 - Arredondar um número usando a função RoundDown do VBA

Etapa 1: em um novo subprocedimento, defina duas novas variáveis ​​com o nome numToRoundDown e roundDownNum. Um para armazenar o valor do número a ser arredondado para baixo e outros para armazenar a saída após o número ser arredondado para baixo.

Código:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double End Sub 

Etapa 2: atribua o valor que você deseja arredondar para a variável denominada "numToRoundDown".

Código:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 End Sub 

Etapa 3: Agora, use RoundDown para arredondar esse número e armazenar o resultado em uma variável roundDownNum.

Código:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double NumToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) End Sub 

Etapa 4: Use a função MsgBox para exibir o valor de um número arredondado para baixo.

Código:

 Sub Round_Ex5 () Dim numToRoundDown Como duplo Dim roundDownNum Como duplo numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "O número arredondado é:" & roundDownNum End Sub 

Etapa 5: Pressione F5 ou o botão Executar para executar este código e ver a saída como uma caixa de mensagem.

É isso no artigo. Capturamos os conceitos de VBA Round, Round Up e Round Down com alguns exemplos.

Coisas para lembrar

  • Esta função usa o método de arredondamento de um banqueiro para arredondar os números que são um pouco diferentes do método de arredondamento real.
  • Esta função é usada para arredondar um número com um ponto flutuante ou um número com decimais fixos até o número especificado de casas.
  • Isso significa que a função arredondará para cima ou para baixo o número, dependendo do número após pontos decimais.
  • O argumento decimal_places deve ser maior que ou igual a zero.
  • Se decimal_places for deixado em branco, será considerado zero e o número será arredondado para o número inteiro mais próximo.
  • Se decimal_places for definido como menor que zero, ocorrerá o erro 5 em tempo de execução. “Erro em tempo de execução '5': chamada ou argumento inválido do procedimento”.
  • Não é realmente previsível o que essa função arredondará o valor quando o dígito após o decimal for 5.
  • Se um ou ambos os argumentos da função Round não forem numéricos, a função retornará o erro 13 do tempo de execução. “Erro em tempo de execução '13': incompatibilidade de tipo”.

Artigos recomendados

Este foi um guia para a Função Rodada do VBA. Aqui discutimos como usar a função redonda do VBA do Excel, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Guia completo do VBA On Error
  2. Como usar o formato de número VBA?
  3. Função VBA VLOOKUP com exemplos
  4. Criando função VBA no Excel

Categoria: