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

Add a Comment

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