Como arredondar valores em vba (com exemplos)
Você pode usar o método RoundDown no VBA para arredondar valores.
Esta função usa a seguinte sintaxe básica:
Sub RoundDownValue()
Range(" B1 ") = WorksheetFunction.RoundDown(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 RoundDown especifica o número de dígitos a serem arredondados, onde:
- -3 arredonda para baixo para o milhar mais próximo
- -2 arredonda para baixo para a centena mais próxima
- -1 arredonda para baixo para a dezena mais próxima
- 0 arredonda para baixo para o número inteiro mais próximo
- 1 arredonda para baixo até o décimo mais próximo (uma casa decimal)
- 2 arredondamentos para baixo até 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 RoundDown na prática.
Relacionado: Como arredondar valores em VBA
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 RoundDownValue()
Range(" B1 ") = WorksheetFunction.RoundDown(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 1432 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 RoundDownValue()
Range(" B1 ") = WorksheetFunction.RoundDown(Range(" A1 "), -2)
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Observe que o valor 1432,78 na célula A1 foi arredondado para a centena mais próxima de 1400 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 RoundDownValue()
Range(" B1 ") = WorksheetFunction.RoundDown(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,7 na célula B1 .
Nota : Você pode encontrar a documentação completa do método VBA RoundDown 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