VBA - Artigo 025 - Adicionando descrição às suas fórmulas personalizadas (UDF)

Progredindo em VBA no Microsoft Excel

Adicionando descrição às suas fórmulas personalizadas (UDFs)

Imagine a situação: você prepara uma fórmula em VBA para usar na planilha, mas o usuário não entende porque o Excel não mostra os parâmetros quando digita a fórmula:



Quando ele clica em "Inserir função" encontra a seguinte tela:


Esta fórmula de exemplo é bem simples e autoexplicativa, até dá para entender sua função e o que faz. Em fórmulas complexas isto realmente acaba sendo um problema.

O que podemos fazer para ajudar o usuário? A partir da versão 2010 do Excel é possível executar uma rotina para adicionar as descrições. Ela é bem simples:

Sub DescreverFuncao()

   Dim Nome                 As String
   Dim Descricao            As String
   Dim Categoria            As String
   Dim Argumentos(1 To 6)   As String

   Nome = "MEDIAFINAL"
   Descricao = "Retorna a média final para um conjunto de quatro provas, um trabalho e participação em aula"
   Categoria = 14 ' Definido pelo usuário, valor padrão
   Argumentos(1) = "Nota da prova 1"
   Argumentos(2) = "Nota da prova 2"
   Argumentos(3) = "Nota da prova 3"
   Argumentos(4) = "Nota da prova 4"
   Argumentos(5) = "Nota do trabalho entregue"
   Argumentos(6) = "Nota de participação em aula"

   Application.MacroOptions _
      Macro:=Nome, _
      Description:=Descricao, _
      Category:=Categoria, _
      ArgumentDescriptions:=Argumentos

End Sub

Essa rotina só precisa ser executada uma vez para as descrições aparecerem:


A rotina é bem simples: foram criadas algumas variáveis contendo as descrições e essas variáveis foram utilizadas como valores para os parâmetros do método Application.MacroOptions.

O nome e a descrição são bem simples, é só colocar o texto para descrever. Para os argumentos, é preciso criar um array com a quantidade de parâmetros que a função tem. Como esta função tem seis parâmetros, foi utilizado Dim Argumentos (1 To 6). Já a categoria recebe um valor numérico de acordo com a seção em que ela melhor se encaixar. O valor 14 se refere a funções definidas pelo usuário. Clicando em inserir fórmula e selecionando esta seção, a fórmula criada aparece com sua descrição e seus argumentos:




É possível colocar em outras categorias. As opções são as seguintes (algumas não aparecem em versões mais antigas):

1: Financeira
2: Data e Hora
3: Matemática e Trigonométrica
4: Estatística
5: Pesquisa e Referência
6: Banco de Dados
7: Texto
8: Lógico
9: Informações
10: Comandos (normalmente oculta)
11: Personalização (normalmente oculta)
12: Controle de Macro (normalmente oculta)
13: DDE/Externa  (normalmente oculta)
14: Definido pelo Usuário
15: Engenharia
16: Cubo
17: Compatibilidade
18: Web

Lembre-se que a rotina só precisa ser executada uma vez para adicionar as descrições, que passam a ser atreladas à planilha. Se precisar alterar alguma descrição ou mesmo a categoria da fórmula, basta editar a rotina e processar novamente.

Espero que este artigo seja útil. Se tiver alguma sugestão de pauta, deixe nos comentários. Até o próximo artigo!

Pedro Martins


Pós-graduando em Business Intelligence e Big Data pela Faculdade Impacta de Tecnologia. Formado em Tecnologia em Eletrônica Digital com Ênfase em Microprocessadores

Postagem Anterior Próxima Postagem