Private Function Log10(X)
Log10 = Log(X) / Log(10#)
End Function
Public Function Wärmeübertragerkosten(X As Double)
Dim CPO2018 As Double
Dim CBMO As Double
Dim CBM As Double
Dim GrassRoot As Double
If X < 10 Then
CPO2018 = (568 / 394) * (10 ^ (3.3444 + 0.2745 * Log10(X) - 0.0472 * Log10(X) ^ 2))
CBMO = CPO2018 * (1.74 + 1.55 * 1 * 1)
CBM = CPO2018 * (1.74 + 1.55 * 1.8 * 1)
GrassRoot = (CBM * 1.18 + 0.5 * CMBO) / 1.21
ElseIf X >= 10 Then
CPO2018 = 10 ^ (4.3247 - 0.303 * Log10(X) + 0.1634 * (Log10(X) ^ 2)) * (568 / 394)
CBMO = CPO2018 * (1.63 + 1.66 * 1 * 1)
CBM = CPO2018 * (1.63 + 1.66 * 1.8 * 1)
GrassRoot = (CBM * 1.18 + 0.5 * CMBO) / 1.21
End If
Wärmeübertragerkosten = GrassRoot
End Function
Hallo Liebe Community ,
ich habe ein Problem mit VBA.. In einer Formel taucht der Logarithmus zur Basis 10 auf. Diesen hab ich wie oben in den Code integriert. Wenn ich die FUnktion anwende kommt für ein Wert von X=7.72 jedoch ~22000 raus.
Tippe ich die ZUsammenhänge in ein Exeldatenblatt ein, erhalte ich 29000 raus, was eigentlich richtig ist. Könnt ihr vielleicht helfen? Wäre euch sehr dankbar.
Viele Grüße
|