Не выдает значение y, в чем дело? Sub Main() Dim x As single, y As single, t As single x = Sheets("Лист3").Cells(4, 2) If x меньше 0.5 And t = 2.2 Then y = (Log(x) ^ 3 + x ^ 2) / Sqr(x + t) Else If x = 0.5 And t = 2.2 Then y...

Не выдает значение y, в чем дело? Sub Main() Dim x As single, y As single, t As single x = Sheets("Лист3").Cells(4, 2) If x < 0.5 And t = 2.2 Then y = (Log(x) ^ 3 + x ^ 2) / Sqr(x + t) Else If x = 0.5 And t = 2.2 Then y = Sqr(x + t) + 1 / x Else If x > 0.5 And t = 2.2 Then y = Cos(x) + t * Sin(x) ^ 2 End If End If End If Sheets("Лист3").Cells(4, 3) = y End Sub
Гость
Ответ(ы) на вопрос:
Гость
У Вас значение "у" вычисляется для заданного "х" только при условии, что t=2.2. Но значение t у Вас не присваивается, а в этих случаях VBA полагает, что значение числовой переменной равно нулю. Следовательно, ни одна ветка для вычисления "у" не отрабатывает и "у" также не получает значения. Аналогично "t", значение переменной "у" также будет считаться равным нулю и именно этот ноль будет занесен в ячейку "С4". А если у Вас там установлен формат "отображать нулевые значения, как пустые", Вы вообще не увидите результата работы программы.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы