Funções VBA Round, RoundUp e RoundDown

Rodada VBA

A função de arredondamento do VBA arredonda os números para um número especificado de dígitos.

Sintaxe da função de arredondamento VBA

A sintaxe da função round VBA é:

Round (Expression, [Decimal_places]) onde:

  • Expressão - o número a arredondar.
  • Casas decimais (Opcional) - Um número inteiro que especifica o número de casas decimais a serem arredondadas. O valor deve ser maior ou igual a 0 (> = 0). Se em branco, o padrão de 0 é usado, o que significa que a função é arredondada para o número inteiro mais próximo.

Então, vamos dar uma olhada em um exemplo para que você possa ver como a função VBA Round funciona, arredondando para 1 casa decimal:

12345 Sub Round1 ()Msgbox Round (7,25, 1)End Sub

O MessageBox resultante:

VBA Arredonda uma Variável

No exemplo acima, inserimos o número a ser arredondado diretamente na função; normalmente, no entanto, você arredondaria uma variável. A seguir está um exemplo usando uma variável em vez disso:

Observação: usamos o tipo de variável Double para armazenar valores decimais.

123456789 Sub RoundUsingVariable ()Dim unitcount As Doublecontagem unitária = 7,25MsgBox "The value is" & Round (unitcount, 1)End Sub

O resultado é:

Resultados de arredondamento VBA

Número real Número de casas decimais Resultado
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Cansado de procurar exemplos de código VBA? Experimente o AutoMacro!

Valor de célula redonda VBA

Você também pode arredondar um valor de célula diretamente no VBA:

123 Sub RoundCell ()Intervalo ("A1"). Valor = Arredondado (Intervalo ("A1"). Valor, 2)End Sub

Função VBA RoundUp

Digamos que você queira arredondar um número para cima, usando o VBA. Não há uma função equivalente integrada do VBA RoundUp, em vez disso, o que você pode fazer é chamar a função de planilha do Excel RoundUp a partir do seu código VBA:

1 roundupUnitcount = Application.WorksheetFunction.RoundUp (contagem de unidades, 3)

As funções de planilha do Excel estão disponíveis para uso em VBA, por meio do uso do WorksheetFunction objeto. As únicas funções de planilha que você não pode chamar são aquelas que já têm um equivalente VBA integrado.

Um lembrete da sintaxe da Função RoundUp da Planilha do Excel:

ROUNDUP (número, dígitos) onde:

  • Número - o número que você deseja arredondar.
  • Dígitos - o número de dígitos que você gostaria de arredondar.

Então, vejamos um exemplo, para que você possa ver como acessar a função RoundUp Worksheet em seu código VBA:

12345678910111213 Sub RoundUp ()Dim unitcount As DoubleDim roundupUnitcount As Doublecontagem unitária = 7.075711roundupUnitcount = Application.WorksheetFunction.RoundUp (unidade de contagem, 4)MsgBox "O valor é" & roundupUnitcountEnd Sub

O resultado é:

RoundUp para o número inteiro mais próximo

Você pode arredondar para cima para o número inteiro mais próximo, especificando 0 como o número de casas decimais:

12345 Sub RoundUpWhole ()MsgBox Application.WorksheetFunction.RoundUp (7.1, 0)End Sub

O resultado entregue:

Programação VBA | O Code Generator funciona para você!

Resultados da função RoundUp

Número real Dígitos Resultado
7.075711 0 8
7.075711 1 7.1
7.075711 2 7.08
7.075711 3 7.076
7.075711 -1 10
7.075711 -2 100
7.075711 -3 1000

Função VBA RoundDown

Digamos que você queira arredondar um número para baixo, usando o VBA. Também não existe uma função equivalente integrada do VBA RoundDown, em vez disso, o que você faria é chamar a função Excel RoundDown Worksheet a partir do seu código VBA.

Um lembrete da sintaxe da Função RoundDown da Planilha do Excel:

ROUNDDOWN (número, dígitos) onde:

• Número - o número que você deseja arredondar para baixo.
• Dígitos - O número de dígitos que você gostaria de arredondar.

Então, vamos ver um exemplo, para que você possa ver como acessar a função RoundDown Worksheet em seu código VBA:

12345678910111213 Sub RoundDown ()Dim unitcount As DoubleDim rounddownUnitcount As Doublecontagem unitária = 5,225193rounddownUnitcount = Application.WorksheetFunction.RoundDown (contagem de unidades, 4)MsgBox "O valor é" & rounddownUnitcountEnd Sub

O resultado é:

RoundDown para o número inteiro mais próximo

Você pode arredondar para baixo para o número inteiro mais próximo, especificando 0 como o número de casas decimais:

12345 Sub RoundDownWhole ()MsgBox Application.WorksheetFunction.RoundDown (7.8, 0)End Sub

O resultado é:

Resultados da função RoundDown

Número real Dígitos Resultado
5.225193 0 5
5.225193 1 5.2
5.225193 2 5.22
5.225193 3 5.225
5.225193 -1 0
5.225193 -2 0
5.225193 -3 0

Programação VBA | O Code Generator funciona para você!

Outras funções de arredondamento VBA

Teto VBA - RoundUp para uma significância especificada

O VBA não tem uma função Ceiling.Math equivalente, então se você quiser arredondar um número para o inteiro mais próximo ou para o múltiplo de significância especificado mais próximo, você pode chamar a função de planilha Ceiling.Math do Excel a partir do seu código VBA.

Um lembrete da sintaxe da planilha do Excel Ceiling.Math Function:

CEILING.MATH (Number, [Significance], [Mode]) onde:

  • Número - o número que você deseja arredondar.
  • Significado (Opcional) - O múltiplo para o qual você deseja que seu número seja arredondado.
  • Modo (Opcional) - Controla se os números negativos são arredondados para perto ou longe de zero.

Então, vamos ver um exemplo, para que você possa ver como acessar a função Ceiling.Math Worksheet em seu código VBA:

12345678910111213 Sub RoundUpToSignificance ()Dim unitcount As DoubleDim roofmathUnitcount As Doublecontagem unitária = 4.1221roofmathUnitcount = Application.WorksheetFunction.Ceiling_Math (contagem unitária, 5)MsgBox "O valor é" & roofmathUnitcountEnd Sub

O resultado é:

VBA RoundUp para resultados de significância especificados

Número real Significado Modo Resultado
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

VBA Floor - Rounddown to A Specified Significance

O VBA também não tem uma função Floor.Math equivalente. No entanto, mais uma vez, se você quiser arredondar um número para baixo para o inteiro mais próximo ou para o múltiplo de significância especificado mais próximo, você pode chamar a função de planilha Floor.Math do Excel a partir do VBA.

Um lembrete da sintaxe da planilha do Excel Floor.Math Function:

FLOOR.MATH (Number, [Significance], [Mode]) onde:
• Número - o número que você gostaria de arredondar para baixo.
• Significância (Opcional) - O múltiplo para o qual você deseja que seu número seja arredondado.
• Modo (Opcional) - Controla se os números negativos são arredondados para perto ou longe de zero.

Então, vamos ver um exemplo, para que você possa ver como acessar a função Floor.Math Worksheet em seu código VBA:

1234567891011 Sub RoundDownToSignificance ()Dim unitcount As DoubleDim floormathUnitcount As Doublecontagem unitária = 4.55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math (unidade de contagem, 2)MsgBox "O valor é" & floormathUnitcountEnd Sub

O resultado é:

VBA RoundDown para Resultados de Significância Especificada

Número real Significado Modo Resultado
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave