Sou novo nesse fórum, criei um suplemento, que é uma fórmula, a qual outras pessoas a usam, porém, quando um arquivo de um é aberto em outro Micro, o suplemento não funciona porque ele não reconhece o endereço de origem, ou seja, o mesmo vem com o endereço aonde está o suplemento no Micro em que foi criado, por exemplo:
No meu micro a fórmula aparece >> =VBásico(A2;D2;E2)
Quando abro um arquivo criado em outro micro a fórmula vem assim >>
'C:Users203632AppDataRoamingMicrosoftSuplementosfórmVBásico01.05.15.xla'!VBásico(A2;D2;E2)
Ai dá erro, porque é o endereço do suplemento em outro micro. Não sei se deu pra entender. Favor me ajudem.
Tentei colocar um só suplemento em rede para todos, porém verifiquei que ao abrirmos o Excel este fica muito lento, ai decidimos q é melhor q o suplemento seja individual de cada micro.
Este é o vba do suplemento:
Public Function VBásico(x As Currency, y As String, ByVal z As Variant)
' x= data
' y= nível
' z= padrão
Application.Volatile
If x < 40391 Then VBásico = Evaluate("VLOOKUP(""" & z & """,[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!padrão,MATCH(" & x & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!mês,1),0)")
If IsError(VBásico) Then VBásico = Evaluate("VLOOKUP(" & z & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!padrão,MATCH(" & x & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!mês,1),0)")
If x >= 40391 And y = "Básico" Then
w = z * 111
VBásico = Evaluate("VLOOKUP(" & w & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!padroes,MATCH(" & x & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!periodos,1),0)")
End If
If x >= 40391 And y = "Médio" Then
w = z * 1
VBásico = Evaluate("VLOOKUP(" & w & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!padroes,MATCH(" & x & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!periodos,1),0)")
End If
If x >= 40391 And y = "Superior" Then
w = z * 1000
VBásico = Evaluate("VLOOKUP(" & w & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!padroes,MATCH(" & x & ",[fórmVBásico01.05.15.xla]Tabelas.ANTIGAS!periodos,1),0)")
End If
End Function
Obrigado
Postado : 13/01/2016 10:44 am