Autor Tópico: Rodar macro do exel no calc  (Lida 1034 vezes)

Offline Homem_da_selva

  • Usuário Ubuntu
  • *
  • Mensagens: 211
    • Ver perfil
Rodar macro do exel no calc
« Online: 17 de Junho de 2012, 12:56 »
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?
« Última modificação: 18 de Junho de 2012, 10:53 por Homem_da_selva »