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 |