Я хочу указать другие параметры, указанные в функции, и получить решение для (угла), но получаю сообщение об ошибке: «недопустимый вызов процедуры или аргумент». Ошибка выполнения 5. Мне нужно вызвать функцию в лист эксель. Это довольно длинное уравнение. Кроме того, может случиться так, что я вхожу в бесконечный цикл, но я не знаю, как этого избежать.
Function calculateangle(r, h, C, g, d, m, t, x, y As Single) As Single
Dim a As Single
a = 0
While y <> (d + r - r * Cos(a) + (x - (t - r + r * Sin(a))) * Tan(a) - (g
/ (2 * ((((C * m * (2 * g * (h - (d + r - r * Cos(a)))) ^
(1 / 2)) + m * (2 * g * (h - (d + r - r * Cos(a)))) ^ (1 / 2)) / (m +
0.04593)) ^ 2) * (Cos(a)) ^ 2)) * (x - (t - r + r * Sin(a))) ^ 2)
a = a + 0.01
Wend
MsgBox Round(a, 2)
End Function
r, h, C, g, d, m, t, x- это все варианты, а не отдельные. Единственный синглy- person Scott Craner   schedule 24.03.2018While y > (d + r ...? - person   schedule 24.03.2018Double? В любом случае, не могли бы вы сделать это минимально воспроизводимым примером? Как вы вызываете эту функцию? - person John Coleman   schedule 24.03.2018y <> ..., вероятно, следует заменить сравнением, которое предполагает допуск. - person John Coleman   schedule 24.03.2018