Problema al crear función en VBA

Hola, soy novato trabajando en VBA con excel 2007, pero tengo el siguiente problema en la función:
Public Function tw1(t, td, p)
Const c1 = 0.0091379024, c2 = 6106.396, c15 = 26.66082, f = 0.0006355
tk = t + 273.15
tdk = td + 273.15
es = Exp(c15 - c1 * tk - c2 / tk)
ed = Exp(c15 - c1 * tdk - c2 / tdk)
s = (es - ed) / (tk - tdk)
tw0 = (tk * f * p + tdk * s) / (f * p + s)
ew0 = Exp(c15 - c1 * tw0 - c2 / tw0)
de0 = f * p * (tk - tw0) - (ew0 - ed)
der0 = ew0 * (c1 - c2 / (tw0 ^ 2)) - f * p
tw1 = tw0 - de0 / der0
End Function
Me da un error de REFERENCIA al calcular tw1, todo esta bien hasta "der0", he verificado linea a linea la función calculando por separado como función es, ed, es, tw0, ew0, de0 y der0; pero con tw1 no me funciona, ¿alguien podría explicarme que sucede y como corregirlo? ¿Habrá tal vez referencia circular?
Gracias
Respuesta
1
¿Cuáles son los valores de : (t, td, p)?
Los valores de prueba son:
t=14.0
td=4.0
p=691.5
tw1 debe se ser igual a =280.43
Pues a mi me da: 281,190601111848
No me presenta problemas tu función
Declara todas las variables involucradas como Doubles, así lo hice y pues corre de lo más bien con los valores indicados,
Los resultados por variables son:
tk= 287.15
tdk= 277.15
es = 15.9801063841844
ed=  8.12894035278141
s= 0.785116603140298
tw0= 280.738607405096
ewo= 10.4257420364024
de0= 0.520673572272348
der0= -1.15194872073454
tw1= 281.190601111848
Bye

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas