Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#65678
UDF (user defined function) feita por mim não tem o intelisense quando estou em uma planilha utilizando a função.
Quero inserir isso, mas não sei como fazer. Mesmo conhecendo o método MacroOptions (https://docs.microsoft.com/pt-br/office ... crooptions)

Minha UDF
Sem intelisense,
SUBTLIQ (quantidade, preço_bruto, desconto), mas aparece SUBTLIQ ()

Função Nativa
Com intelisene,
SOMA (num1;num 2...) parece SOMA (num1;num 2...)

CTRL+SHIFT+A ajuda,
"Box" Argumentos da Função ajuda.

Contudo nenhum apresenta a solução desejada, que agiliza o preenchimento da fórmula.
#65683
Aqui funciona (MS 365).
Código: Selecionar todos
Function MinhaUDF(rng As Range, k As Long)
 Application.Volatile True
 If rng.Offset(, k) = "" Then MinhaUDF = "vazia" Else MinhaUDF = "não vazia"
End Function
#
Após digitar na célula =minhaudf( e apertar Ctrl+Shift+a aparece conforme a figura abaixo.
Imagem

E após inserir os argumentos + Enter ~~~> =minhaudf(A1;3)
patrick777 agradeceu por isso
#65710
Bom dia, Sr. Osvaldo!

Bacana, aprendi sobre o Application.Volatile, legal!

Contudo eu queria intelisense sem a necessidade do atalho CTRL SHIFT A, devido minhas fórmulas serem destinadas a usurários com pouca expertise no excel, entende?

O senhor conhece alguma outra caminho para chegar ao intelisense?

Conheço o ADD-IN Excel-DNA, contudo ele ainda assim não satisfaz apropriadamente, dada sua complexidade para manutenção futura de uma séria de docs.

De qualquer forma, agradeço seu retorno, oportuno e correto!
osvaldomp agradeceu por isso
#65715
Olá, Sr. Patrick.

Me parece que caminho fácil realmente não existe.

Coloquei na busca do sábio Google e retornou umas ideias, veja no link abaixo se aproveita alguma além das que o Sr. já conhece.

https://www.google.com/search?q=excel+a ... CAg&uact=5

Algumas ideias para contornar:
1. se possível evite ou reduza a necessidade de parâmetros na UDF.
2. colocar as instruções em Comentário na célula (ou Anotação MS 365) e exibi-lo via Worksheet_SelectionChange.
3. colocar as instruções em UserForm e carregá-lo no modo vbModeless
patrick777 agradeceu por isso
#65722
Boa noite, Sr. Osvaldo!

Muito obrigado por me indicar caminhos. Sou recentemente iniciado no VBA, de forma avançada, então careço de experiência para conhecer todos as recomendações que o senhor me passou... e acho isso Ótimo!!! O senhor me iluminou uma direção onde posso encontrar conhecimentos úteis as minhas necessidades. Por isso, lhe sou grato!

Por exemplo, eu sabia do evento que o senhor menciou Worksheet_SelectionChange, mas não sabia o comando dela ainda... e agora o senhor já me apontou ela, obrigado mesmo por isso!

De fato, provavelmente se eu fizer questão da intelisense terei de usa o add in ExcelDNA. Contudo a princípio irei evitar, dado que estou programando planilhas para uso de vários usuários, todos extremamente inexperientes.

Obrigado por dedicar um pouco do seu tempo tentando me ajudar!

Se eu não puder, espero que alguém faça o mesmo pelo senhor, obrigado mesmo!

Um forte abraço, sucesso!
osvaldomp agradeceu por isso
#65723
Olá, Sr. Patrick.

Agradeço pelas suas palavras e fico contente por ter minimamente contribuído de alguma forma.

Desejo-lhe sucesso também. :)
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord