我一直在Excel VBA中收到#value错误

所以我在VBA for Excel中写了一个快速函数,但每次我调用它时,都会给我一个#value错误。 我不知道我做错了什么。 谁能帮忙?

 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 

我使用插入function栏中的=h(10,1,1,1,1,1)来调用它。

由零分在

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

因为h1是零,所以m1是零。

你应该改变:

 h1 = 0