Notifications
Clear all

Como gravar matriz no VBA

3 Posts
2 Usuários
0 Reactions
985 Visualizações
(@silverio)
Posts: 50
Trusted Member
Topic starter
 

Tenho a seguinte matriz abaixo, pois preciso automatizá-la e gravando a formula no vba não deu certo, alguém sabe como fazer no vba que me de o mesmo resultado, que é enquanto a a primeira coluna for igual ele vai na segunda coluna ve qual o menor valor e na outra qual é o LIB e na outra coloca o X.

1 10 CONF
1 20 LIB X SE(B2=MÍNIMO(SE(($A$1:$A$12=A2)*($C$1:$C$12="LIB");$B$1:$B$12));"X";"")
1 30 LIB
2 100 LIB X
2 110 CONF
2 120 LIB
3 5 CONF
3 10 LIB X
4 1 CONF
4 2 LIB X
4 3 LIB
4 4 lib

 
Postado : 27/09/2016 4:23 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Use o comando .FormulaArray
https://msdn.microsoft.com/en-us/librar ... 37104.aspx

Sub teste()
Range("A1").Select
Selection.FormulaArray = "IF(B2=MIN(IF(($A$1:$A$12=A2)*($C$1:$C$12=""LIB""),$B$1:$B$12)),""X"","""")"
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/09/2016 5:39 am
(@silverio)
Posts: 50
Trusted Member
Topic starter
 

Não deu certo, pois ao rodar a celula não coloca o simbolo { } que é para funcionar a matriz, a celula retorna:

IF(B2=MIN(IF(($A$1:$A$12=A2)*($C$1:$C$12="LIB"),$B$1:$B$12)),"X","")

e não o valor que tem que retornar.

 
Postado : 28/09/2016 8:59 am