简体   繁体   English

我在Excel VBA中不断收到#value错误

[英]I Keep getting a #value error in Excel VBA

So I wrote a quick function in VBA for Excel, but every time I call it, it gives me a #value error. 因此,我在VBA for Excel中编写了一个快速函数,但是每次调用它时,都会出现#value错误。 I don't know what I am doing wrong. 我不知道我在做什么错。 Can anyone help? 有人可以帮忙吗?

Function h(UA, k, A, Af_At, Delta, l)
h1 = 0
m = (2 * h1 / k / Delta) ^ 0.5
ml = m * l
Nf = WorksheetFunction.Tanh(ml)
No = 1 - Af_At * (1 - Nf / ml)
UA1 = h1 * A * No / 2

While UA > UA1
    UA_old = UA1
    h_old = h1
    h1 = h1 + 0.5
    m = (2 * h1 / k / Delta) ^ 0.5
    ml = m * l
    Nf = WorksheetFunction.Tanh(ml)
    No = 1 - Af_At * (1 - Nf / ml)
    UA1 = h1 * A * No / 2
Wend

h = h_old + (UA - UA_old) * (h1 - h_old) / (UA1 - UA_old)

End Function

I call it using: =h(10,1,1,1,1,1) in the insert function bar. 我用插入功能栏中的=h(10,1,1,1,1,1)来称呼它。

Division by zero at 被零除

No = 1 - Af_At * (1 - Nf / ml)

m1 is zero because h1 is zero. m1为零,因为h1为零。

You should change: 您应该更改:

h1 = 0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM