Criação de funções definidas pelo usuário (personalizadas) (UDFs)

Este tutorial explicará como criar funções definidas pelo usuário no VBA.

O VBA é composto de Sub Procedimentos e Procedimentos de Função. Os procedimentos de função retornam um valor e podem ser chamados por Subprocedimentos, ou podem ser usados ​​na planilha do Excel, onde o valor que a função produz é retornado para a planilha do Excel. O Excel, é claro, tem uma variedade de funções embutidas - como a Função Soma ou Função If. Os procedimentos de função que você escreve em VBA são usados ​​de maneira semelhante à função interna e são conhecidos como Funções Definidas pelo Usuário (UDFs).

Por que criar um UDF?

Função necessária ausente

Um dos principais motivos para querer criar uma UDF no Excel é que não existe uma função integrada existente que fará a tarefa para você. Escrever sua própria função em VBA geralmente é a maneira mais eficiente de resolver o problema. A função abaixo irá converter um valor de quilogramas para libras onde um parâmetro variável (dblKilo) está sendo usado para obter o valor dos quilogramas para fazer o cálculo.

Substituir uma sub-rotina (macro)

Você poderia escrever um subprocedimento (macro) para resolver a tarefa para você - mas os subprocedimentos não retornam um valor e eles não são dinâmicos - em outras palavras, se os valores em sua planilha forem alterados, você precisará executar novamente o macro para que os cálculos na macro atualizem seus dados. O subprocedimento abaixo também converteria nossos quilos em libras, mas sempre que os dados mudassem em A1, você precisaria executar novamente a macro para atualizar o resultado.

Substitua uma Fórmula

Você pode ter uma fórmula realmente complicada no Excel que precisa ser usada repetidamente - colocar a fórmula no código VBA torna mais fácil de ler e entender - e também remover espaço para erros do usuário ao digitar a fórmula.

Criação de UDFs

Para criar uma UDF, primeiro adicione um módulo à pasta de trabalho do Excel ou, se tiver uma pasta de trabalho Macro pessoal, pode usar um módulo existente ou adicionar um novo. Para fazer isso, você precisa estar no Editor do Visual Basic (VBE). Para chegar ao VBE, pressione ALT + F11 ou clique na opção Visual Basic na guia Desenvolvedor de sua faixa de opções.

GORJETA: Se você não tiver a guia Desenvolvedor ativada em sua faixa de opções, vá para Arquivo, Opções e clique em Personalizar fita. Certifique-se de que a caixa de seleção Desenvolvedor esteja marcada e clique em OK.

Para inserir um novo módulo, selecione o Projeto VBA no qual deseja inserir o módulo (seja o Projeto VBA para o livro atual em que você está trabalhando ou a Pasta de trabalho macro pessoal), clique no botão Inserir Menu e clique em Módulo

Depois de criar seu módulo, você pode começar a criar seu UDF.

Todas as UDFs começam com Função e, em seguida, o nome da UDF. As funções podem ser privadas ou públicas, mas normalmente você deseja que uma UDF seja pública para que apareça na caixa de diálogo Inserir Função no Excel (consulte como usar uma função de uma planilha do Excel mais adiante neste artigo). Se você não colocar a palavra-chave Private antes da função, a função será automaticamente pública.

123 Função TestFunction1 (intA As Integer) As IntegerTestFunction1 = intA * 7Função Final

A função acima possui um único argumento (intA). Você pode criar uma função com vários argumentos

123 Função TestFunction2 (intA As Integer, intB As Integer, intC As Integer) As IntegerFunçãoTeste2 = (intA * intB) + intCFunção Final

Você também pode criar uma função com argumentos opcionais. Se o argumento for omitido, você pode definir um valor padrão para o argumento na função.

123 Função TestFunction3 (intA As Integer, intB As Integer, Opcional intC As Integer = 10) As IntegerFunçãoTeste3 = (intA * intB) + intCFunção Final

Usando uma função de dentro de uma planilha do Excel

As funções que você criou aparecerão por padrão na sua lista de funções na seção Definida pelo Usuário da lista de funções.

Clique no fx para mostrar a caixa de diálogo Inserir Função.

Selecione Usuário definido da lista de categorias

Selecione a função que você deseja a partir do disponível Funções definidas pelo usuário.

Como alternativa, quando você começa a escrever sua função no Excel, a função deve aparecer na lista suspensa de funções.

Salvando as funções com seu arquivo Excel

Como as funções são escritas em código VBA, é lógico que o código precisa estar disponível para a pasta de trabalho a fim de estar disponível para ser usado na planilha do Excel. Você pode salvar suas funções na pasta de trabalho em que as está usando ou pode salvá-las na pasta de trabalho Macro pessoal. Sua pasta de trabalho Macro pessoal é um arquivo oculto que está disponível sempre que o Excel é aberto e, portanto, disponível para qualquer pasta de trabalho no Excel usar. Normalmente é criado quando você grava uma macro e seleciona a opção para armazenar a macro na pasta de trabalho macro pessoal.

Se desejar manter suas funções salvas dentro da pasta de trabalho em que está trabalhando, você precisará ter certeza de que, ao salvar a pasta de trabalho, ela será salva como um ‘Pasta de trabalho habilitada para macro'Ou um xlsm Arquivo.

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

wave wave wave wave wave