Como criar funções definidas pelo usuário no Microsoft Excel

Índice:

Como criar funções definidas pelo usuário no Microsoft Excel
Como criar funções definidas pelo usuário no Microsoft Excel

Vídeo: Como criar funções definidas pelo usuário no Microsoft Excel

Vídeo: Como criar funções definidas pelo usuário no Microsoft Excel
Vídeo: Qual a melhor forma de ficar forte rápido no Minecraft? 2024, Novembro
Anonim

Embora o Excel já tenha centenas de funções internas, como SUM, VLOOKUP, LEFT e assim por diante, as funções internas disponíveis geralmente não são suficientes para realizar tarefas bastante complexas. No entanto, não se preocupe porque você só precisa criar as funções necessárias.

Etapa

Crie uma função definida pelo usuário no Microsoft Excel Etapa 1
Crie uma função definida pelo usuário no Microsoft Excel Etapa 1

Etapa 1. Crie uma nova pasta de trabalho ou abra a pasta de trabalho que deseja processar com Funções Definidas pelo Usuário (UDF)

Crie uma função definida pelo usuário no Microsoft Excel Etapa 2
Crie uma função definida pelo usuário no Microsoft Excel Etapa 2

Etapa 2. Abra o Editor do Visual Basic no Microsoft Excel via Ferramentas-> Macro-> Editor do Visual Basic (ou pressione o atalho Alt + F11)

Crie uma função definida pelo usuário no Microsoft Excel Etapa 3
Crie uma função definida pelo usuário no Microsoft Excel Etapa 3

Etapa 3. Clique no botão Módulo para adicionar um novo módulo à sua planilha

Você pode criar uma UDF em uma pasta de trabalho sem adicionar um novo módulo, mas a função não funcionará em outras planilhas da mesma pasta de trabalho.

Crie uma função definida pelo usuário no Microsoft Excel Etapa 4
Crie uma função definida pelo usuário no Microsoft Excel Etapa 4

Etapa 4. Crie a "cabeça" ou "protótipo" da sua função

O protótipo da função deve seguir a seguinte estrutura:

função pública "Nome da Função" (parâmetro1 Como tipo1, parâmetro2 Como tipo2) Como tipo de resultado.

Os protótipos podem ter tantas funções quanto possível e seus tipos podem ser todos os tipos de dados básicos ou tipos de objeto do Excel na forma de intervalo. Você pode pensar nos parâmetros como “operantes” (operadores) sobre os quais a função atuará. Por exemplo, ao escrever SIN (45) para calcular o seno de 45 graus, o número 45 será considerado um parâmetro. Em seguida, o código de função usará esses valores para realizar cálculos e exibir os resultados.

Crie uma função definida pelo usuário no Microsoft Excel Etapa 5
Crie uma função definida pelo usuário no Microsoft Excel Etapa 5

Etapa 5. Adicione o código da função para garantir que você: 1) use o valor fornecido pelo parâmetro; 2) passe o resultado para o nome da função; e 3) feche a função com a frase "função final". Aprender a programar em VBA ou em qualquer outro idioma leva muito tempo e leva orientações detalhadas. Felizmente, essas funções geralmente têm pequenos blocos de código e não fazem muito uso dos recursos da linguagem de programação. Aqui estão alguns elementos da linguagem VBA que podem ser usados:

  1. O bloco If (if), que permite que você execute uma parte do código apenas se a condição for atendida. Como um exemplo:
  2. Resultado do curso de função pública (como valor inteiro) como string

    Se o valor> = 5 então

    Resultados do curso = "Aceito"

    Outro

    Resultados do curso = "Rejeitado"

    Fim se

    Função Final

    Observe os elementos no bloco de código If:

    IF condição THEN código ELSE código END IF

  3. . Você pode omitir a palavra-chave Else junto com a segunda parte do código, pois é opcional.
  4. O bloco Do (do), que executa uma parte do código While ou Until quando ou até que a condição seja atendida. Como um exemplo:
  5. Função pública BilPrima (value As Integer) As Boolean

    Dim i As Integer

    i = 2

    BilPrima = True

    Fazer

    Se valor / i = Int (valor / i) Então

    BilPrima = False

    Fim se

    i = i + 1

    Loop While i <value And NumberPrima = True

    Função Final

    Olhe novamente para os elementos:

    Código DO LOOP ENQUANTO / ATÉ A condição

  6. . Observe também a segunda linha que "declara" a variável. Você pode adicionar variáveis ao seu código para uso posterior. As variáveis atuam como valores temporários no código. Finalmente, considere a declaração da função como BOOLEANO, que é um tipo de dados que permite apenas valores TRUE ou FALSE. Esse método de determinar os números primos está longe de ser ideal, mas o código foi escrito de forma que seja fácil de ler.
  7. Para o bloco (para), que executa uma certa quantidade de código. Como um exemplo:
  8. Fatorial de função pública (valor As Integer) As Long

    Resultados escuros enquanto

    Dim i As Integer

    Se valor = 0 então

    resultado = 1

    ElseIf value = 1 Then

    resultado = 1

    Outro

    resultado = 1

    Para i = 1 para valor

    resultado = resultado * i

    Próximo

    Fim se

    Fatorial = resultado

    Função Final

    Olhe novamente para os elementos:

    Variável FOR = limite inferior TO limite superior do código PRÓXIMO

    . Além disso, observe o elemento ElseIf adicional na instrução If, que permite adicionar mais opções ao código que está sendo executado. Finalmente, considere a função “resultado” e a variável declarada como Longa. O tipo de dados Long permite valores muito maiores do que Integer.

    Abaixo é mostrado o código de uma função que converte pequenos números em palavras.

    Crie uma função definida pelo usuário no Microsoft Excel Etapa 6
    Crie uma função definida pelo usuário no Microsoft Excel Etapa 6

    Etapa 6. Retorne à pasta de trabalho e use a função escrevendo o símbolo de “igual” (=) seguido do nome da função na célula

    Escreva os colchetes de abertura (“(“) após o nome da função, usando o sinal coma para separar os parâmetros e terminar com colchetes de fechamento (“)”). Como um exemplo:

    = NumberToLetter (A4)

    . Você também pode usar fórmulas caseiras pesquisando-as em categorias Usuário definido dentro da opção Inserir fórmula. Você acabou de clicar no botão Fx à esquerda da barra de fórmulas. Existem três tipos de formulários de parâmetro em funções:

    1. Um valor constante digitado diretamente na fórmula da célula. Neste caso, o texto (string) deve ser colocado entre aspas.
    2. Referências de células, por exemplo B6 ou alcance como A1: C3 (o parâmetro deve ser do tipo de dados “Range”)
    3. Outra função que está incluída em sua função (sua função também pode estar incluída em outra função), por exemplo: = Fatorial (MAX (D6: D8))

      Crie uma função definida pelo usuário no Microsoft Excel Etapa 7
      Crie uma função definida pelo usuário no Microsoft Excel Etapa 7

      Etapa 7. Certifique-se de que os resultados estejam corretos

      Use-o várias vezes para se certificar de que a função é capaz de lidar com vários valores de parâmetros corretamente:

      Pontas

      • Ao escrever blocos de código em estruturas de controle como If, For, Do, etc., certifique-se de recuar (inserir a borda da linha esquerda ligeiramente para dentro) o bloco de código pressionando a barra de espaço várias vezes ou tab. Isso tornará o código mais fácil de entender e os erros serão muito mais fáceis de encontrar. Além disso, o aumento da funcionalidade se torna mais fácil de fazer.
      • Se você não sabe como escrever código para funções, leia o artigo Como escrever uma macro simples no Microsoft Excel.
      • Às vezes, as funções não precisam de todos os parâmetros para calcular o resultado. Nesse caso, você pode usar a palavra-chave opcional antes do nome do parâmetro no cabeçalho da função. Você pode usar a função IsMissing (parameter_name) em seu código para determinar se um parâmetro é atribuído a um valor ou não.
      • Use nomes não usados como funções no Excel para que nenhuma função seja substituída ou excluída.
      • O Excel tem muitas funções integradas e a maioria dos cálculos podem ser executados usando essas funções integradas, individualmente ou de uma vez. Certifique-se de dar uma olhada na lista de funções disponíveis antes de começar a programar. A execução pode ser feita mais rapidamente se você usar funções integradas.

      Aviso

      • Por motivos de segurança, muitas pessoas desabilitam macros. Certifique-se de notificar os destinatários da pasta de trabalho que a pasta de trabalho enviada contém macros e que essas macros não danificarão seus computadores.
      • A função usada neste artigo não é a melhor maneira de resolver o problema relacionado. O exemplo é usado para explicar o uso de estruturas de controle de linguagem.
      • VBA, como outras linguagens, tem várias outras estruturas de controle além de Do, If e For. A estrutura discutida aqui descreve apenas o que pode ser feito no código-fonte da função. Existem muitos guias na Internet que podem ser usados para ajudá-lo a aprender VBA.

Recomendado: