Como executar procedimentos de função vba no excel 2016

Na programação VBA, a função retorna um valor. Você pode executar procedimentos de função e chamar a função no Excel 2016. Funções, ao contrário de procedimentos Sub, pode ser executado em apenas duas maneiras:

  • Chamando a função de outro procedimento Sub ou procedimento Function

  • Usando a função de uma fórmula de folha de cálculo

Tente esta função simples. Inseri-lo em um módulo VBA:

Função CubeRoot (número) CubeRoot = número de ^ (1/3) End Function

Esta função é bastante wimpy- ele apenas calcula a raiz cúbica do número passado para ele como seu argumento. É, no entanto, fornecer um ponto de partida para a compreensão de funções. Ele também ilustra um conceito importante sobre funções: como devolver o valor. (Você se lembra de que uma função retorna um valor, certo?)

Repare que a única linha de código que faz-se este procedimento função executa um cálculo. O resultado da matemática (número à potência de 03/01) é atribuído ao CubeRoot variável. Não por acaso, CubeRoot é também o nome da função. Para dizer a função que valor para retornar, você atribui esse valor para o nome da função.

Chamar a função de um procedimento Sub

Porque você não pode executar uma função diretamente, você deve chamá-lo de outro procedimento. Digite o seguinte procedimento simples no mesmo módulo VBA que contém a função CubeRoot:

Sub CallerSub () Ans = CubeRoot (125) MsgBox AnsEnd sub

Quando você executar o procedimento CallerSub, Excel exibe uma caixa de mensagem que contém o valor da variável Ans, que é 5.

Aqui está o que está acontecendo: A função CubeRoot é executado, e recebe um argumento de 125. O cálculo é realizado através do código de função (usando o valor passado como um argumento), e valor retornado da função é atribuída à variável Ans. A função MsgBox exibe o valor da variável Ans.

Tente alterar o argumento que é passado para a função CubeRoot e executar a macro CallerSub novamente. Ele funciona exatamente como deveria - supondo que você dá a função de um argumento válido (um número positivo).

By the way, o procedimento CallerSub poderia ser simplificado um pouco. A variável Ans não é realmente necessário a menos que seu código irá usar essa variável mais tarde. Você poderia usar esta única instrução para obter o mesmo resultado:

 MsgBox CubeRoot (125)

Chamar uma função a partir de uma fórmula de planilha



Agora é hora de chamar esse procedimento Função VBA a partir de uma fórmula de planilha. Ativar uma planilha na mesma pasta de trabalho que contém a definição da função CubeRoot. Em seguida, inserir a seguinte fórmula em qualquer célula:

= CubeRoot (1728)

A célula exibe 12, que é realmente a raiz cúbica de 1.728.

Como você poderia esperar, você pode usar uma referência de célula como argumento para a função CubeRoot. Por exemplo, se a célula A1 contém um valor, você pode entrar = CubeRoot (A1). Neste caso, a função retorna o número obtido por cálculo da raiz cúbica do valor em A1.

Você pode usar esta função qualquer número de vezes na planilha. Como funções internas do Excel, as funções personalizadas aparecem na caixa de diálogo Inserir função. Clique no botão da barra de ferramentas Inserir função, e escolher a categoria definida pelo usuário. A caixa de diálogo Inserir função lista sua própria função.

A função CubeRoot aparece no User Defined categoria da caixa de diálogo Inserir função.
A função CubeRoot aparece no User Defined categoria da caixa de diálogo Inserir função.

Se você quiser que a caixa de diálogo Inserir função para exibir uma descrição da função, siga estes passos:

  1. Escolha desenvolvedor → Código → Macros.

    Excel exibe a caixa de diálogo macro, mas não CubeRoot não aparecem na lista. (CubeRoot é um procedimento Function, e esta lista mostra apenas procedimentos Sub.) Não se preocupe.

  2. Digite a palavra CubeRoot na caixa Nome da Macro.

  3. Clique no botão Opções.

  4. Digite uma descrição da função na caixa Descrição.

  5. Clique em OK para fechar a caixa de diálogo Opções de macro.

  6. Feche a caixa de diálogo macro, clicando no botão Cancelar.

    Este texto descritivo agora aparece na caixa de diálogo Inserir função.

Confira a função CubeRoot sendo usado em fórmulas de planilha.

Usando a função CubeRoot em fórmulas.
Usando a função CubeRoot em fórmulas.

Publicações relacionadas