Função Round [VBA]

Arredonda um valor numérico para um número especificado de algarismos decimais.

Ícone de aviso

Esta constante, função ou objeto é ativado através da instrução Option VBASupport 1, colocada antes do código executável do programa num módulo.


Esta função implementa a regra de arredondamento conhecida como «arredondamento para o par mais próximo». Com esta regra, sempre que a diferença entre o número a arredondar e o seu inteiro mais próximo for igual a 0,5, o número é arredondado para o número par mais próximo. Consulte os exemplos abaixo para saber mais sobre esta regra.

Ícone de nota

Tenha em atenção que a função Round do VBA funciona de forma diferente da função Round do Calc da LibreOffice. No Calc, se a diferença entre o número a arredondar e o número inteiro mais próximo for exatamente 0,5, o número é arredondado por excesso. Assim, no Calc, o número 2,5 é arredondado para 3, enquanto que, ao utilizar a função Round do VBA, o valor 2,5 é arredondado para 2 devido à regra de «arredondamento para o par».


Sintaxe:

Round(expression [,numdecimalplaces])

Tipo de retorno:

Double

Parâmetros:

expressão: A expressão numérica a arredondar.

numdecimalplaces: Argumento opcional que especifica o número de algarismos decimais no valor arredondado resultante. O valor predefinido é 0.

Códigos de erro

5 Chamada de procedimento inválido

Exemplo:


    Option VBASupport 1
    Sub Example_Round
        Dim r 
        r = Pi
        print r ' 3,14159265358979
        print Round(r, 5) ' 3,14159
        r = exp(1)
        print r ' 2,71828182845904
        print Round(r) ' 3
    End Sub
  

Os exemplos seguintes ilustram a regra do «arredondamento para o número par»:


    ' Arredondamento para o número inteiro mais próximo (casas decimais = 0)
    MsgBox Round(3.5) ' 4
    MsgBox Round(4.5) ' 4
    MsgBox Round(5.5) ' 6
    MsgBox Round(6.5) ' 6
    ' Arredondamento com 2 algarismos decimais (decimalplaces = 2)
    MsgBox Round(1.555, 2) ' 1.56
    MsgBox Round(1.565, 2) ' 1.56
    MsgBox Round(1.575, 2) ' 1.58
    MsgBox Round(1.585, 2) ' 1.58
  
Necessitamos da sua ajuda!

Necessitamos da sua ajuda!