Como arredondar valores em vba (com exemplos)
Você pode usar o método RoundUp em VBA para arredondar valores.
Esta função usa a seguinte sintaxe básica:
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub
Este exemplo específico arredondará o valor na célula A1 para o número inteiro mais próximo e exibirá o resultado na célula B1 .
Observe que o segundo argumento do método RoundUp especifica o número de dígitos a serem arredondados, onde:
- -3 rodadas para os próximos mil
- -2 rodadas para a centena mais próxima
- -1 arredonda para a dezena mais próxima
- 0 arredonda para o número inteiro mais próximo
- 1 arredonda para o décimo mais próximo (uma casa decimal)
- 2 arredondado para o centésimo mais próximo (duas casas decimais)
- 3 arredondado para o milésimo mais próximo (três casas decimais)
E assim por diante.
Os exemplos a seguir mostram como usar o método RoundUp na prática.
Exemplo 1: Arredonde para o número inteiro mais próximo em VBA
Podemos criar a seguinte macro para arredondar o valor na célula A1 para o número inteiro mais próximo e exibir o resultado na célula B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Observe que o valor 1432,78 na célula A1 foi arredondado para o número inteiro mais próximo de 1433 na célula B1 .
Exemplo 2: Arredonde para a centena mais próxima em VBA
Podemos criar a seguinte macro para arredondar o valor na célula A1 para a centena mais próxima e exibir o resultado na célula B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), -2)
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Observe que o valor 1.432,78 na célula A1 foi arredondado para a centena mais próxima de 1.500 na célula B1 .
Exemplo 3: Arredonde para o décimo mais próximo no VBA
Podemos criar a seguinte macro para arredondar o valor na célula A1 para o décimo mais próximo (ou seja, uma casa decimal) e exibir o resultado na célula B1 :
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 1)
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Observe que o valor 1.432,78 na célula A1 foi arredondado para o décimo mais próximo de 1.432,8 na célula B1 .
Nota : Você pode encontrar a documentação completa do método VBA RoundUp aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como escrever funções SUMIF e SUMIFS
VBA: Como escrever funções COUNTIF e COUNTIFS
VBA: Como escrever funções AVERAGEIF e AVERAGEIFS