Не выдает значение 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". А если у Вас там установлен формат "отображать нулевые значения, как пустые", Вы вообще не увидите результата работы программы.
Не нашли ответ?
Похожие вопросы