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


Catálogo de aulas (NOVIDADE)

Criei um catálogo de aulas para ajudar você em seus estudos. Acesse clicando na imagem abaixo ou clique aqui.


Postagem Anterior Próxima Postagem