Este post é continuação do post Criando funções personalizadas – parte 1, onde comecei a explicar como criar a sua própria função no Excel. Caso você não tenha lido este post ainda, sugiro que o leia antes de prosseguir.
No post em questão, expliquei como fazer para entrar no Visual Basic e como criar o “cabeçalho” da função. Nele você precisa informar os valores que foram passados pela função na planilha entre parênteses e fazer a declaração. A função, após pronta, será capaz de executar cálculos de IMC no formato =IMC(A1;B1) ou =IMC(75;1,60). Os valores entre parênteses, que são separados por ponto e vírgula são, respectivamente, o peso e a altura.
Bem, vamos ao conteúdo da função. Toda função deverá conter o código necessário para realizar o que a função se propõe a fazer. Neste caso, deve ser feito apenas um cálculo simples (peso/altura²). Um detalhe importante é que em uma função criada em VBA é que a última linha deve informar o que será retornado. Deve se “comparar” o nome da função com o valor ou o cálculo que a função retornará à planilha. No nosso caso, a última linha deve começar com IMC = ____. Na verdade, para este caso, esta será a única linha de código. Sendo assim, a função ficará assim:
Ao voltar para a planilha, você verá que a função já está disponível na lista de funções que o Excel sugere quando você começa a digitar uma função:
E se você preferir, após abrir parênteses, pode usar o Assistente de Funções para facilitar o trabalho de inserir a função:
Veja agora como ficou a função após ser “preenchida”:
ADICIONAR FUNÇÃO A UMA CATEGORIA
Quando você cria uma função personalizada, ela aparece na lista porém não está em nenhuma categoria específica. Se você quiser adicionar a função a alguma categoria, você precisar executar um pequeno código. É uma pequena macro, que só precisa ser executada uma vez. O código ficará parecido com este:
Insira o código acima ao módulo (pode ser logo abaixo do código da função, deixando uma linha de espaço). Após isso clique no botão de Executar. Após isso a função já estará na categoria. No caso, o nome da função irá entre aspas e a categoria é representada por números. A lista de categorias é a seguinte:
0 Nenhuma categoria (aparece apenas na lista de Todas as Funções)
1 Financeira
2 Data e Hora
3 Matemática e Trigonometria
4 Estatística
5 Procura e Referência
6 Banco de Dados
7 Texto
8 Lógico
9 Informação
Se você quiser que seja exibida uma descrição para a função, primeiro deixe o cursor em qualquer lugar do código da função. Em seguida pressione a tecla F2. Será aberta a janela “Pesquisador de objetos“. Na primeira caixa de seleção (onde está escrito “Todas as bibliotecas”), selecione a opção “VBA Project“. Do lado direito você encontrará um item com o nome da função (no nosso caso, IMC). Clique com o botão direito sobre ele e selecione “Propriedades“. Você deverá visualizar a janela abaixo.
Se tudo deu certo, a função aparecerá assim na tela do Assistente de Função:
Com isto encerro o post sobre Como criar funções personalizadas no Excel. Em caso de dúvidas, podem deixar comentários.
Até mais,
Ueritom