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
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 de calvuch
1