Função Excel VBA RoundUp
Semelhante à função de planilha onde arredondamos os números para os inteiros mais próximos, no VBA temos uma função RoundUp que diminui o ponto decimal para nós e a sintaxe para usar a função de arredondamento é a seguinte Arredondar (Número, Número de Dígitos Após Decimal ) esses dois argumentos na função são obrigatórios.
Quando trabalhamos com números e cálculos, obtemos números fracionários após o número inteiro e isso é bastante comum nos negócios do dia a dia. Geralmente não nos preocupamos com os valores decimais porque eles não têm nenhum impacto em nosso resultado final. Nessas situações, precisamos arredondar os números para o número inteiro mais próximo ou para o número inteiro imediato. Usando a função RoundUp, podemos realmente executar essa tarefa.
Se você pesquisou no VBA a função RoundUp, não deve tê-la encontrado porque é uma função de planilha. Para acessar a função RoundUp, precisamos usar a classe vba Worksheet Function.
Antes disso, relembre a sintaxe da função RoundUp.
Exemplos
Você pode baixar este modelo VBA RoundUp Excel aqui - Modelo VBA RoundUp ExcelVamos realizar a tarefa de arredondar o número “288,5264”. Veremos todos os números com este exemplo.
Exemplo # 1 - Quando o segundo argumento é zero
Observe o código VBA abaixo.
Código:
Sub RoundUp_Example1 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, 0) MsgBox k End Sub
- Quando você executar o código acima, ele converterá o número fornecido, ou seja, 288,5264 para o número inteiro mais próximo, ou seja, 289
Exemplo # 2 - Quando o segundo argumento é 1
Observe o código abaixo para ver o que acontece quando passamos um como segundo argumento.
Código:
Sub RoundUp_Example2 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, 1) MsgBox k End Sub
- Este código converterá o número fornecido em um ponto decimal, ou seja, 288,6
Exemplo # 3 - Quando o segundo argumento é 2
Observe o código abaixo para ver o que acontece quando passamos dois como um segundo argumento.
Código:
Sub RoundUp_Example3 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, 2) MsgBox k End Sub
- Este código converterá o número fornecido em duas casas decimais, ou seja, 288,53
Exemplo # 4 - Quando o segundo argumento é 3
Observe o código abaixo para ver o que acontece quando passamos três como um segundo argumento.
Código:
Sub RoundUp_Example4 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, 3) MsgBox k End Sub
- Este código converterá o número fornecido em três casas decimais, ou seja, 288.527
Exemplo # 5 - Quando o segundo argumento é -1
Observe o código abaixo para ver o que acontece quando passamos menos um como um segundo argumento.
Código:
Sub RoundUp_Example5 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, -1) MsgBox k End Sub
- Este código converterá o número fornecido para os dez mais próximos, ou seja, 290.
Exemplo # 6 - Quando o segundo argumento é -2
Observe o código abaixo para ver o que acontece quando passamos menos dois como um segundo argumento.
Código:
Sub RoundUp_Example6 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, -2) MsgBox k End Sub
- Este código converterá o número fornecido na centena mais próxima, ou seja, 300.
Exemplo # 7 - Quando o segundo argumento é -3
Observe o código abaixo para ver o que acontece quando passamos menos três como um segundo argumento.
Código:
Sub RoundUp_Example7 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264, -3) MsgBox k End Sub
- Este código converterá o número para o milhar mais próximo, ou seja, 1000.
Assim, podemos usar a função ROUNDUP no VBA como parte da classe de função da planilha para arredondar os números com base no segundo argumento fornecido.