Function MyFunc(T)
Dim a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, _
a4, b4, c4, d4, n1, n2, n3, n4 As Double
Sheets("Sheet1").Select
a1 = Range("E4").Value
b1 = Range("F4").Value
c1 = Range("G4").Value
d1 = Range("H4").Value
a2 = Range("E5").Value
b2 = Range("F5").Value
c2 = Range("G5").Value
d2 = Range("H5").Value
a3 = Range("E6").Value
b3 = Range("F6").Value
c3 = Range("G6").Value
d3 = Range("H6").Value
a4 = Range("E7").Value
b4 = Range("F7").Value
c4 = Range("G7").Value
d4 = Range("H7").Value
n1 = Range("C5").Value
n2 = Range("C6").Value
n3 = Range("C7").Value
n4 = Range("C8").Value
MyFunc = -2635500 + (((n1 * (a1 * (T - 298.15)) + _
(1 / 2 * b1 * (T - 298.15) ^ 2) + (1 / 3 * c1 * (T - 298.15) ^ 3) + _
(1 / 4 * d1 * (T - 298.15) ^ 4))) + (n2 * (a2 * (T - 298.15)) + _
(1 / 2 * b2 * (T - 298.15) ^ 2) + (1 / 3 * c2(T - 298.15) ^ 3) + _
(1 / 4 * d2 * (T - 298.15) ^ 4)) + (n3 * (a3 * (T - 298.15)) + _
(1 / 2 * b3 * (T - 298.15) ^ 2) + (1 / 3 * c3 * (T - 298.15) ^ 3) + _
(1 / 4 * d3 * (T - 298.15) ^ 4)) + (n4 * (a4 * (T - 298.15)) + _
(1 / 2 * b4 * (T - 298.15) ^ 2) + (1 / 3 * c4 * (T - 298.15) ^ 3) + _
(1 / 4 * d4 * (T - 298.15) ^ 4)))
End Function
Ваш оператор Dim
назначает только n4 как двойное число.Все остальные переменные являются вариантами.Если вы определяете параметры как часть определения вашей функции, вы можете вводить значения, более гибкие для вашей функции:
Public Function MyFunc2(a1 As Double, b1 As Double, c1 As Double, d1 As Double, _
a2 As Double, b2 As Double, c2 As Double, d2 As Double, _
a3 As Double, b3 As Double, c3 As Double, d3 As Double, _
a4 As Double, b4 As Double, c4 As Double, d4 As Double, _
n1 As Double, n2 As Double, n3 As Double, n4 As Double, _
T As Double)
MyFunc2 = -2635500 + (((n1 * (a1 * (T - 298.15)) + _
(1 / 2 * b1 * (T - 298.15) ^ 2) + (1 / 3 * c1 * (T - 298.15) ^ 3) + _
(1 / 4 * d1 * (T - 298.15) ^ 4))) + (n2 * (a2 * (T - 298.15)) + _
(1 / 2 * b2 * (T - 298.15) ^ 2) + (1 / 3 * c2(T - 298.15) ^ 3) + _
(1 / 4 * d2 * (T - 298.15) ^ 4)) + (n3 * (a3 * (T - 298.15)) + _
(1 / 2 * b3 * (T - 298.15) ^ 2) + (1 / 3 * c3 * (T - 298.15) ^ 3) + _
(1 / 4 * d3 * (T - 298.15) ^ 4)) + (n4 * (a4 * (T - 298.15)) + _
(1 / 2 * b4 * (T - 298.15) ^ 2) + (1 / 3 * c4 * (T - 298.15) ^ 3) + _
(1 / 4 * d4 * (T - 298.15) ^ 4)))
End Function
В вашем рабочем листе вы определяете формулу: =myFunc2(E4, F4, G4, ...)