У меня есть do until loop
Я продолжаю повторять в операторе IF/ELSE
. Я хочу вместо этого вызывать sub
(содержащий do until loop
) внутри операторов IF / Else If / Then. Пожалуйста, помогите
Этот код работает, но я хочу сжать каждый do until loop
в sub
, который я могу вызвать с различными значениями Tf
и gain
:
Dim tmin As Double
Dim hgmin As Double
Dim tf As Double
Dim hmix As Double
Dim hg As Double
Dim i As Double
tmin = -70 'Lowest temperature of fluid on chart (Fahreinhet)
hgmin = 79.66 'Lowest enthalpy(saturated vapor)
tf = InputBox("Enter Lower Temperature [Fahrenheit]") 'Lower temperature of system
i = tmin
hg = hgmin
If tf <= -9 Then
Do Until i = tf
hg = hg + 0.15
i = i + 1
Loop
ElseIf tf >= -9 And tf <= 60 Then
Do Until i = -9
hg = hg + 0.15
i = i + 1
Loop
Do Until i = tf
hg = hg + 0.125
i = i + 1
Loop
End If
msgbox(hg)
End Sub
Код ниже не работает, либо цикл застрял, либо дает значение hmin
вместо hmin + (gain * amount of iterations from tmin to Tf)
.
Sub main()
Dim Tf As Double
Dim i As Double, hg As Double, tmin As Double, hmin As Double
Tf= InputBox("Enter Lower Temperature Value")
hmin = 79.66
hg = hmin
tmin = -70
i = tmin
If Tf <= -9 Then
Call subby(Tf, 0.15)
ElseIf Tf >= -9 And Tf <= 60 Then
Call subby(-9, 0.15)
Call subby(Tf, 0.125)
End If
msgbox(hg)
End Sub
Sub subby(T As Double, gain As Double)
Dim i As Double, hg As Double, tmin As Double, hmin As Double
tmin = -70
hmin = 79.66
hg = hmin
i = tmin
Do Until i = T
hg = hg + gain
i = i + 1
Loop
End Sub
Я хочу, чтобы приведенный ниже код пытался вызвать другой sub
в операторе main sub
IF/Else
, чтобы он соответствовал приведенным выше значениям кода для hg
.