Консультация № 181913
17.01.2011, 12:48
56.37 руб.
0 1 1
Здравствуйте! У меня возникли сложности с таким вопросом:
Задание 1. Запрограммировать в VBA вычисление функции f(x) из таблицы по вариантам. В программе использовать обращение к ячейкам. Вызов программы организовать с листа Excel.



https://rfpro.ru/upload/4453

Обсуждение

давно
Модератор
137394
1850
17.01.2011, 17:59
общий
это ответ
Здравствуйте, Кулида Александр Александрович!
Вот ответ в прикреплённом файле. Он очень похож на ответ на вопрос консультации онлайн № 181618.Там есть краткое пояснение
Код:
Sub zzzzzzz()
Dim a, b, t, y As Single
Dim Ra, Rb, Rt, Ry, tt As String
Dim Msg As String

Ra = "A6" ' Адреса ячеек, где введём a и b, и отобразим t и y
Rb = "B6"
Rt = "C6"
Ry = "D6"

DD = Mid(5 / 2, 2, 1) ' Определю разделитель целой и дробной части

t = InSng(InputBox("Введите число - аргумент функции"), DD)

Select Case t
Case 2 To 4
a = InSng(Range(Ra), DD)
y = a * t ^ 2 * Log(t)
Msg = "a=" + Format(a, "# ##0.00") + vbCrLf + "t=" + Format(t, "# ##0.00") + vbCrLf + "y= a*t^2*ln(t) = "
Case Is > 4
a = InSng(Range(Ra), DD)
b = InSng(Range(Rb), DD)
y = Exp(a * t) * Cos(b * t)
Msg = "a=" + Format(a, "# ##0.00") + vbCrLf + "b=" + Format(b, "# ##0.00") + vbCrLf + "t=" + Format(t, "# ##0.00") + vbCrLf + "y= Exp(a*t)*Cos(b*t) = "
Case Is < 2
Msg = "t=" + Format(t, "# ##0.00") + vbCrLf + "y= "
y = 1
End Select

Range(Rt) = t
Range(Ry) = y

MsgBox Msg + Format(y, "# ### ##0.00")
End Sub
Function InSng(InData, D) As Single
tt = Replace(InData, ".", D)
tt = Replace(tt, ",", D)
InSng = CSng(tt)
End Function
Прикрепленные файлы:
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа