Rodar macro do exel no calc

Iniciado por Homem_da_selva, 17 de Junho de 2012, 12:56

tópico anterior - próximo tópico

Homem_da_selva

Bom dia!...

Tenho um planilha que foi criada no exel e nesta planilha tem a macro abaixo. Tentei usar esta planilha porém na célula que tem a chamada para a macro aparece a seguinte mensagem:

#valor

No calc encontro a macro no seguinte local:

Ferramentas=>macro=>organizar macro=libreoffice base

E ai encontro aqui:

Nome da planilha
 VBA project
      Modulos
               Modulo1

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1

Function rho15(rho, degc, ihydro)

ibase = 15
k0 = 613.9723
k1 = 0
irho = rho

If (irho >= 610.5 And irho <= 1075) And (degc >= -18 And degc <= 95) Then GoTo Dentro
If (irho >= 778 And irho <= 1075) And (degc >= 95 And degc <= 125) Then GoTo Dentro
If (irho >= 824 And irho <= 1075) And (degc > 120 And degc < 150) Then GoTo Dentro

Dentro:
   idt = degc - ibase
   irhot = irho
   If (ihydro = 1) Then ihyc = 1 - (0.000023 * idt) - (0.00000002 * (idt ^ 2)) Else ihyc = 1
   irhot = irhot * ihyc
   irho15 = irhot
   krho = 0
   Do While Abs(irho15 - krho) > 0.01
       
       alf = (k0 / irho15 ^ 2) + (k1 / irho15)
       ivc = Exp(-alf * idt - 0.8 * alf ^ 2 * idt ^ 2)
       irho15 = irhot / ivc
       krho = irho15
       alf = (k0 / irho15 ^ 2) + (k1 / irho15)
       ivc = Exp(-alf * idt - 0.8 * alf ^ 2 * idt ^ 2)
       irho15 = irhot / ivc
   Loop

rho15 = krho

If (degc < -18) Then rho15 = -999.9
If (irho < 610.5) Then rho15 = -999.9
If (irho > 1075) Then rho15 = -999.9
If (degc > 95 And irho < 778.5) Then rho15 = -999.9
If (degc > 125 And irho < 824) Then rho15 = -999.9

End Function


A chamada da macro é assim
=rho15(d20;20;0)
Na célula d20 temos o seguinte valor numérico: 731,00,

Alguém sabe o que pode estar havendo?