Jump to content
Sign in to follow this  
Daniel Mendes

Funções Personalizadas

Recommended Posts

Daniel Mendes

Boa tarde,

Uma vez que recorro frequentemente a uma conjunto de funções, gostaria de programa-las em VBA, de modo a que através de um add-in estivessem sempre disponíveis e pré-definidas no meu Excel.

A minha dúvida é que algumas destas funções têm argumentos opcionais (em principio tipo boleano True or False) que me permitiram escolher diferentes unidades para o resultado.

Como exemplo posso deixar o cálculo de um determinado caudal onde tenho como variáveis necessárias a velocidade e o diâmetro, e como opcionais, a unidade em que eu quero o resultado e a unidade em que se encontra o diâmetro.

O meu problema é que gostaria que, tal como nas funções "originais" do Excel, à medida que vou colocando as variáveis, me seja indicado o que é necessário introduzir em seguida e, no caso das variáveis opcionais, quais as opções.

Espero que me tenha explicado bem. Desde já obrigado por qualquer ajuda!

Daniel Mendes

Share this post


Link to post
Share on other sites
FreiNando

Usa Enumerações, tipo:

Public Enum EnumUnidades
    Metro = 1
    Decimetro = 0.1
    Centimetro = 0.01
    Milimetro = 0.001
End Enum


Public Function Caudal(Velocidade As Double, Diametro As Double, UnidadeDiametro As EnumUnidades) As Double
    
'teu código
End Function


O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Share this post


Link to post
Share on other sites
Daniel Mendes

Desde já obrigado pela ajuda!

No entanto, parece que ainda esta solução não responde na totalidade à minha dúvida.

O que eu gostaria é, na utilização da formula numa qualquer folha de Excel, e à medida que introduzindo as variáveis, me fosse mostrado o que estou a preencher e coisas as opções, no caso de variáveis opcionais.

Por exemplo, ao utilizarmos a função "IF" do Excel, e quando vamos escolhendo os campos a analisar, vai-nos sendo mostrado se estamos na "condição", "resultado se verdade" e o "resultado se falso". Era esta funcionalidade que eu gostaria de saber se é possível fazer em funções personalizadas do Excel.

Obrigado

Daniel

Share this post


Link to post
Share on other sites
FreiNando

No editor VBA abre o Object Browser (F2) e nas propriedades de cada função tua podes colocar uma descrição.

O resultado da função aparece consoante vais introduzindo os valores dos parametros, desde que com os valores introduzidos seja possivel apurar um resultado.

Quanto à descrição dos parametros o que acontece é que as funções do Excel vão buscar essa informação a um ficheiro da ajuda.

Podes criar um ficheiro de ajuda para o teu projecto com o HTML Help Workshop e nas propriedades do projecto ir buscar esse ficheiro.

Depois nas propriedades de cada função colocar o Id do item da ajuda que está no teu ficheiro.


O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Share this post


Link to post
Share on other sites
Daniel Mendes

Obrigado pela resposta! Parece-me que é exactamente isso que eu deverei fazer.

Mas aproveito para perguntar... Há algum local on-line onde posso obter mais informação sobre como construir o ficheiro de ajuda e como o articular com as funções definidas em VBA?

Obrigado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.