Моя проблема: он отлично работает, когда я вызываю его в SUb. Но это дает высокий скачок в значении «пФ» Я хочу дать условие, что пФ всегда меньше, чем dpdlold ... Я пробовал разные способы, но ничего не получалось ..нужна помощь в создании функции excel-vba
код начинается здесь:
Public Function pf(p, pwf, xf, PI, tau, n, k, wg, Hf, wf, Bg, dpdlold, mug, Bg_p, mug_p)
Dim i, j As Integer
Dim error As Double
Dim pj As Double
Dim pj1 As Double
Dim pj0 As Double
Dim e As Double
j = 100
i = 0
error = 1000
pj0 = dpdlold
pj = pj0
e = 0.001
While (error > e) And (i < j)
qgr = FrGas(tau, n, k, wg, Hf, wf, pj, mug_p)
pj1 = (p - pwf - 2 * qgr/PI)/xf
error = Abs(pj1 - pj)
pj = pj1
i = i + 1
Wend
pf = pj
End Function
спасибо Я всегда делают эту ошибку ...... – user2981046
пф всегда меньше, чем dpldld кроме случаев, когда, lkjwe мод rwerewrew дважды 987wewse3. Серьезно, хотя между вашим кратким описанием и более короткими именами переменных вы мешаете хотя бы одному человеку попытаться решить вашу проблему. Может быть, попробуйте упростить его на примере, который вы и другие могли бы проверить? –
«Я пробовал разные способы» ... Я ничего не вижу, что показывает, что вы пробовали. Если бы вы могли быть немного более откровенными о своих «прыжках» и ваших «попытках», мы могли бы помочь лучше. – Floris