Notifications
Clear all

Formula Matricial não atualiza com vba

5 Posts
2 Usuários
0 Reactions
880 Visualizações
(@pollitomf)
Posts: 0
New Member
Topic starter
 

Não sou tão experiente com vba, mas consigo quebrar um galho!

tenho uma planilha como base que fica fazendo os cálculos por trás e em vba um formulário que "se comunica" com a planilha, os usuários só podem e conseguem utilizar a interface do formulário, selecionam uma opção X na planilha e em vba essa opção é escrita na planilha que tem uma formula em procv que calcula o resultado na planilha mesmo e depois na sequencia do código vba em outro campo do formulário é refletido o resultado da formula que esta em outra celula... Eu sei que não é a forma certa, mas foi a maneira que consegui fazer pois não sei fazer todas as formulas direto no vba...

Pois bem tudo estava indo perfeitamente bem, funcionando 100%, uma planilha complexa porem rápida e funcional, mas hoje me surgiu um problema, estou com uma formula Matricial que busca mais de um retorno com ÍNDICE :(=SEERRO(ÍNDICE(BASE!$A:$A;MENOR((BASE!$E:$E=$B$2)*LIN(BASE!$E:$E);SOMARPRODUTO(N(((BASE!$E:$E=$B$2)*LIN(BASE!$E:$E))=0))+LIN()-1));""))

ela procura o resultado com base no valor indicado na célula "B2", quando eu executo a formula direto na planilha tudo ocorre bem e recebo os resultados exatos, porem quando tento trocar o valor da celular "B2" pelo formulário com VBA:

"Private Sub bduplic_Click()
Sheets("DUPLIC").Range("B2") = cpfp
End Sub"

o valor é alterado na celula "B2" normalmente, porém o resultado não aparece, a formula não é executada... se eu fecho o formulário volto pra planilha seleciono a célula e clico fora, a formula é executada normalmente, então pelo que intendi a formula não esta sendo executada...

alguém pode me ajudar a corrigir esse problema? existe algum comando para forçar a execução dessa formula matricial?

Obrigado desde ja, qualquer outra informação necessária estou a disposição, Obrigado!

 
Postado : 14/11/2016 1:44 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu penso que talvez isso resolva....
Force o metodo calculate na guia ou no arquivo.
https://msdn.microsoft.com/en-us/librar ... 95517.aspx
http://excel.tips.net/T002877_Calculati ... kbook.html

Fonte: http://analysistabs.com/vba-code/worksheet/m/calculate/

Sub Calculate_Sheet()
Sheets("Sheet1").Calculate
End Sub
Sub Calculate_AllOpenWorkbooks()
Application.Calculate
End Sub

Att

 
Postado : 14/11/2016 1:52 pm
(@pollitomf)
Posts: 0
New Member
Topic starter
 

Boa Tarde Alexandre, Obrigado por ajudar...

Então, já tentei isso, e mesmo assim não mostra o resultado das formulas...

 
Postado : 14/11/2016 2:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Insira diretamente a formula na célula [A1].FormulaArray= "=SuaFormula"
No mais envie seu arquivo modelo!

Att

 
Postado : 14/11/2016 4:37 pm
(@pollitomf)
Posts: 0
New Member
Topic starter
 

Resolvido ja Alexandre, era o formato! Obrigado!

 
Postado : 15/11/2016 9:27 am