Função de arredondamento de Excel e VBA

Trabalhando em seu laptop em um café

Crédito da imagem: mavoimages / iStock / Getty Images

Aprender como usar a função "Roundup" do Excel a partir de sua linguagem de programação embutida VBA, ou Visual Basic for Applications, ajuda a executar qualquer função do Excel a partir do VBA. Essa habilidade é útil porque o Excel tem muitas funções que o VBA não possui e que você pode precisar aplicar a partir de um programa VBA. Observe que o recurso VBA que permite acessar a função "Roundup" não o alertará sobre uma sintaxe ou argumento incorreto, como faria ao usar a interface de planilha padrão.

Propósito

A função "Arredondamento" do Excel arredonda um número para cima até o número de dígitos que você especificar. Por exemplo, a execução de "Roundup (2.2, 0)" informa ao Excel que você deseja arredondar o número 2.2 para o próximo inteiro. O "0" no segundo argumento indica ao Excel que você não deseja nenhum dígito após a vírgula decimal, o que equivale a dizer que você deseja uma resposta inteira.

Vídeo do dia

Função de Rodada VBA

O VBA não tem uma função "Roundup" embutida. A função mais próxima que possui é a função "Arredondar", que arredonda para cima ou para baixo dependendo se o dígito final do número que você está arredondando é maior ou menor que 5. Por exemplo, digitar "Arredondar (2.2, 0)" na janela "Imediato" do VBA resulta em um 2, ao invés do 3 que a função "Arredondamento" do Excel arredondaria para cima.

Propriedade "Fórmula"

Embora o VBA não tenha uma função "Roundup" própria, ele pode usar a função "Roundup" do Excel. Para instruir o VBA a fazer isso, defina a propriedade "Formula" do objeto virtual "Range" para a função "Roundup". O exemplo a seguir mostra como fazer isso. Abra o ambiente de desenvolvimento VBA pressionando "Alt" e "F11" simultaneamente no Excel. Clique com o mouse na janela "Imediato 'e digite a seguinte instrução:" Intervalo ("A1"). Fórmula = "= Roundup (2.2, 0)". "Retorne ao Excel pressionando a tecla" Alt-F11 "que acabamos de descrever. Você verá o resultado "3" na célula A1, indicando que sua instrução aplicou com sucesso a função "Roundup" do Excel.

Exemplo Interativo

Você pode fazer um programa VBA interativo que aceita de um usuário os argumentos para a função "Roundup" e exibe o resultado dessa função. Depois de abrir o ambiente de desenvolvimento VBA, cole o seguinte programa na janela:

Public Sub roundUpANumber () Dim a1, a2, s a1 = CDbl (InputBox ("Insira o número que deseja arredondar")) a2 = CInt (InputBox ("Insira o número de decimais para os quais você gostaria de arredondar o número que acabou de inserir. ")) s =" = Roundup ("& a1 &", "& a2 &") "Intervalo (" A1 "). Fórmula = s Intervalo (" A1 ") .Calculate MsgBox (Range ("A1"). Value) End Sub

Execute o programa clicando em uma de suas instruções e, em seguida, clicando no comando "Executar" do menu "Executar". Quando o Excel solicitar os argumentos da função, digite-os e pressione “Enter”. Seu programa exibirá o resultado da função "Roundup" para os argumentos inseridos.