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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *