Notifications
Clear all

[Resolvido] Fórmula na caixa de texto

4 Posts
2 Usuários
0 Reactions
1,013 Visualizações
(@topscore)
Posts: 41
Eminent Member
Topic starter
 

Pessoal, seguinte:

Finicial = meu Formulário principal.    TBGOTO1 = Minha textbox em Finicial onde não consigo colocar a fórmula que quero.        Cadastro1 = minha Aba de "apoio" ao Finicial.     BDunidades = Aba de banco de dados.            

Na Aba Cadastro1, B13, tenho a fórmula:

"CORRESP($D$12;BDUnidades!D:D;0)"       (correspondência do nome da unidade no banco de dados).

Depois faço "TBGOTO1.value = Cadastro1.range("B13").value.

 

Mas não quero mais utilizar a aba Cadastro1. Eu quero que o valor de "B13" "CORRESP($D$12;BDUnidades!D:D;0)"    seja calculado direto na textbox TBGOTO1, é isso que não consigo fazer. Minha unidade "Centro" está na linha 7 em BDunidades. Aparece 7 em Cadastro1 B13. Preciso executar um código que calcule essa correspondência e coloque o resultado em TBGOTO1, sem usar células, direto no formulário.

Sei que deve ser simples, mas só agora estou começando e desvincular meus códigos das planilhas, sempre usei as células para fazer cálculos e ainda não aprendi.

 

Alguém pode ajudar?

Desde já, obrigado.

 
Postado : 08/10/2020 2:21 pm
Mauro Coutinho
(@coutinho)
Posts: 95
Estimable Member
 

@topscore para uma resposta mais precisa, o ideal seria anexar um modelo reduzido, assim fica mais fácil

 
Postado : 08/10/2020 2:33 pm
Mauro Coutinho
(@coutinho)
Posts: 95
Estimable Member
 

@topscore um exemplo é importante ainda mais quando se trata de formulas devidos as correspondências, mas para usarmos formulas em vba da forma que esta querendo, pode criar uma function ou dentro de uma rotina passando o resultado para uma variavel usando WorksheetFunction, com certeza essa não vai funcionar, mas seria mais ou menos assim :

Você pode fazer o seguinte, selecione a celula com a formula, inicie o gravador de macros, depois tecle F2 e de Enter e encerre a gravação, assim terá sua macro gravada e só tem de fazer os ajustes.

 

valor = WorksheetFunction.Match(Range("D12").Value, BDUnidades!Range("D:D"), 0)
Este post foi modificado 4 anos atrás 2 vezes por Mauro Coutinho
 
Postado : 08/10/2020 3:44 pm