I'm trying to have a function where 1 cell is based on the values of three cells. Where the final value (LoadValue) is equal to LoadLevel. However I need to LoadValue to return a value such that LoadLevel * DC >= Left. I keep getting a #VALUE! error. My code below is shown below.
Public Function LoadValue(Temperature As Integer, DC As Double, Left As Double) As Variant
'A temporary value to be used is defined
Dim LoadLevel As Double
'Nothing occurs if the ambient temperature is to high
If (DC = "---") Then
result = MsgBox("Improper matching, please select a lower ambient temperature")
LoadValue = 0
Else
Do While (LoadValue * DC) < Left
' For temperatures as 90
If Temperature = 90 Then
LoadLevel = 14
If (LoadValue * DC) < Left Then
LoadLevel = 18
End If
If (LoadValue * DC) < Left Then
LoadLevel = 25
End If
If (LoadValue * DC) < Left Then
LoadLevel = 30
End If
If (LoadValue * DC) < Left Then
LoadLevel = 40
End If
If (LoadValue * DC) < Left Then
LoadLevel = 55
End If
If (LoadValue * DC) < Left Then
LoadLevel = 75
End If
If (LoadValue * DC) < Left Then
LoadLevel = 95
End If
If (LoadValue * DC) < Left Then
LoadLevel = 110
End If
If (LoadValue * DC) < Left Then
LoadLevel = 130
End If
If (LoadValue * DC) < Left Then
LoadLevel = 150
End If
If (LoadValue * DC) < Left Then
LoadLevel = 170
End If
If (LoadValue * DC) < Left Then
LoadLevel = 195
End If
If (LoadValue * DC) < Left Then
LoadLevel = 225
End If
If (LoadValue * DC) < Left Then
LoadLevel = 260
End If
If (LoadValue * DC) < Left Then
LoadLevel = 290
End If
If (LoadValue * DC) < Left Then
LoadLevel = 320
End If
If (LoadValue * DC) < Left Then
LoadLevel = 350
End If
If (LoadValue * DC) < Left Then
LoadLevel = 380
End If
If (LoadValue * DC) < Left Then
LoadLevel = 430
End If
If (LoadValue * DC) < Left Then
LoadLevel = 475
End If
If (LoadValue * DC) < Left Then
LoadLevel = 520
End If
If (LoadValue * DC) < Left Then
LoadLevel = 535
End If
If (LoadValue * DC) < Left Then
LoadLevel = 555
End If
If (LoadValue * DC) < Left Then
LoadLevel = 585
End If
If (LoadValue * DC) < Left Then
LoadLevel = 615
End If
If (LoadValue * DC) < Left Then
LoadLevel = 665
End If
If (LoadValue * DC) < Left Then
LoadLevel = 705
End If
If (LoadValue * DC) < Left Then
LoadLevel = 735
End If
If (LoadValue * DC) < Left Then
LoadLevel = 750
End If
' This is for temperatures at 75
ElseIf Temperature = 75 Then
LoadLevel = 20
If (LoadValue * DC) < Left Then
LoadLevel = 25
End If
If (LoadValue * DC) < Left Then
LoadLevel = 35
End If
If (LoadValue * DC) < Left Then
LoadLevel = 50
End If
If (LoadValue * DC) < Left Then
LoadLevel = 65
End If
If (LoadValue * DC) < Left Then
LoadLevel = 85
End If
If (LoadValue * DC) < Left Then
LoadLevel = 100
End If
If (LoadValue * DC) < Left Then
LoadLevel = 115
End If
If (LoadValue * DC) < Left Then
LoadLevel = 130
End If
If (LoadValue * DC) < Left Then
LoadLevel = 150
End If
If (LoadValue * DC) < Left Then
LoadLevel = 175
End If
If (LoadValue * DC) < Left Then
LoadLevel = 200
End If
If (LoadValue * DC) < Left Then
LoadLevel = 230
End If
If (LoadValue * DC) < Left Then
LoadLevel = 255
End If
If (LoadValue * DC) < Left Then
LoadLevel = 285
End If
If (LoadValue * DC) < Left Then
LoadLevel = 310
End If
If (LoadValue * DC) < Left Then
LoadLevel = 335
End If
If (LoadValue * DC) < Left Then
LoadLevel = 380
End If
If (LoadValue * DC) < Left Then
LoadLevel = 420
End If
If (LoadValue * DC) < Left Then
LoadLevel = 460
End If
If (LoadValue * DC) < Left Then
LoadLevel = 475
End If
If (LoadValue * DC) < Left Then
LoadLevel = 490
End If
If (LoadValue * DC) < Left Then
LoadLevel = 520
End If
If (LoadValue * DC) < Left Then
LoadLevel = 545
End If
If (LoadValue * DC) < Left Then
LoadLevel = 590
End If
If (LoadValue * DC) < Left Then
LoadLevel = 625
End If
If (LoadValue * DC) < Left Then
LoadLevel = 650
End If
If (LoadValue * DC) < Left Then
LoadLevel = 665
End If
' This is for temperatures at 60
ElseIf Temperature = 60 Then
LoadLevel = 20
If (LoadValue * DC) < Left Then
LoadLevel = 25
End If
If (LoadValue * DC) < Left Then
LoadLevel = 30
End If
If (LoadValue * DC) < Left Then
LoadLevel = 40
End If
If (LoadValue * DC) < Left Then
LoadLevel = 55
End If
If (LoadValue * DC) < Left Then
LoadLevel = 70
End If
If (LoadValue * DC) < Left Then
LoadLevel = 85
End If
If (LoadValue * DC) < Left Then
LoadLevel = 95
End If
If (LoadValue * DC) < Left Then
LoadLevel = 110
End If
If (LoadValue * DC) < Left Then
LoadLevel = 125
End If
If (LoadValue * DC) < Left Then
LoadLevel = 145
End If
If (LoadValue * DC) < Left Then
LoadLevel = 165
End If
If (LoadValue * DC) < Left Then
LoadLevel = 195
End If
If (LoadValue * DC) < Left Then
LoadLevel = 215
End If
If (LoadValue * DC) < Left Then
LoadLevel = 240
End If
If (LoadValue * DC) < Left Then
LoadLevel = 260
End If
If (LoadValue * DC) < Left Then
LoadLevel = 280
End If
If (LoadValue * DC) < Left Then
LoadLevel = 320
End If
If (LoadValue * DC) < Left Then
LoadLevel = 355
End If
If (LoadValue * DC) < Left Then
LoadLevel = 385
End If
If (LoadValue * DC) < Left Then
LoadLevel = 400
End If
If (LoadValue * DC) < Left Then
LoadLevel = 410
End If
If (LoadValue * DC) < Left Then
LoadLevel = 435
End If
If (LoadValue * DC) < Left Then
LoadLevel = 455
End If
If (LoadValue * DC) < Left Then
LoadLevel = 495
End If
If (LoadValue * DC) < Left Then
LoadLevel = 520
End If
If (LoadValue * DC) < Left Then
LoadLevel = 545
End If
If (LoadValue * DC) < Left Then
LoadLevel = 560
End If
End If
LoadValue = LoadLevel
Loop
End If
End Function
Public Function LoadValue(Temperature As Integer, DC As Double, Left As Double) As Variant
'A temporary value to be used is defined
Dim LoadLevel As Double
'Nothing occurs if the ambient temperature is to high
If (DC = "---") Then
result = MsgBox("Improper matching, please select a lower ambient temperature")
LoadValue = 0
Else
Do While (LoadValue * DC) < Left
' For temperatures as 90
If Temperature = 90 Then
LoadLevel = 14
If (LoadValue * DC) < Left Then
LoadLevel = 18
End If
If (LoadValue * DC) < Left Then
LoadLevel = 25
End If
If (LoadValue * DC) < Left Then
LoadLevel = 30
End If
If (LoadValue * DC) < Left Then
LoadLevel = 40
End If
If (LoadValue * DC) < Left Then
LoadLevel = 55
End If
If (LoadValue * DC) < Left Then
LoadLevel = 75
End If
If (LoadValue * DC) < Left Then
LoadLevel = 95
End If
If (LoadValue * DC) < Left Then
LoadLevel = 110
End If
If (LoadValue * DC) < Left Then
LoadLevel = 130
End If
If (LoadValue * DC) < Left Then
LoadLevel = 150
End If
If (LoadValue * DC) < Left Then
LoadLevel = 170
End If
If (LoadValue * DC) < Left Then
LoadLevel = 195
End If
If (LoadValue * DC) < Left Then
LoadLevel = 225
End If
If (LoadValue * DC) < Left Then
LoadLevel = 260
End If
If (LoadValue * DC) < Left Then
LoadLevel = 290
End If
If (LoadValue * DC) < Left Then
LoadLevel = 320
End If
If (LoadValue * DC) < Left Then
LoadLevel = 350
End If
If (LoadValue * DC) < Left Then
LoadLevel = 380
End If
If (LoadValue * DC) < Left Then
LoadLevel = 430
End If
If (LoadValue * DC) < Left Then
LoadLevel = 475
End If
If (LoadValue * DC) < Left Then
LoadLevel = 520
End If
If (LoadValue * DC) < Left Then
LoadLevel = 535
End If
If (LoadValue * DC) < Left Then
LoadLevel = 555
End If
If (LoadValue * DC) < Left Then
LoadLevel = 585
End If
If (LoadValue * DC) < Left Then
LoadLevel = 615
End If
If (LoadValue * DC) < Left Then
LoadLevel = 665
End If
If (LoadValue * DC) < Left Then
LoadLevel = 705
End If
If (LoadValue * DC) < Left Then
LoadLevel = 735
End If
If (LoadValue * DC) < Left Then
LoadLevel = 750
End If
' This is for temperatures at 75
ElseIf Temperature = 75 Then
LoadLevel = 20
If (LoadValue * DC) < Left Then
LoadLevel = 25
End If
If (LoadValue * DC) < Left Then
LoadLevel = 35
End If
If (LoadValue * DC) < Left Then
LoadLevel = 50
End If
If (LoadValue * DC) < Left Then
LoadLevel = 65
End If
If (LoadValue * DC) < Left Then
LoadLevel = 85
End If
If (LoadValue * DC) < Left Then
LoadLevel = 100
End If
If (LoadValue * DC) < Left Then
LoadLevel = 115
End If
If (LoadValue * DC) < Left Then
LoadLevel = 130
End If
If (LoadValue * DC) < Left Then
LoadLevel = 150
End If
If (LoadValue * DC) < Left Then
LoadLevel = 175
End If
If (LoadValue * DC) < Left Then
LoadLevel = 200
End If
If (LoadValue * DC) < Left Then
LoadLevel = 230
End If
If (LoadValue * DC) < Left Then
LoadLevel = 255
End If
If (LoadValue * DC) < Left Then
LoadLevel = 285
End If
If (LoadValue * DC) < Left Then
LoadLevel = 310
End If
If (LoadValue * DC) < Left Then
LoadLevel = 335
End If
If (LoadValue * DC) < Left Then
LoadLevel = 380
End If
If (LoadValue * DC) < Left Then
LoadLevel = 420
End If
If (LoadValue * DC) < Left Then
LoadLevel = 460
End If
If (LoadValue * DC) < Left Then
LoadLevel = 475
End If
If (LoadValue * DC) < Left Then
LoadLevel = 490
End If
If (LoadValue * DC) < Left Then
LoadLevel = 520
End If
If (LoadValue * DC) < Left Then
LoadLevel = 545
End If
If (LoadValue * DC) < Left Then
LoadLevel = 590
End If
If (LoadValue * DC) < Left Then
LoadLevel = 625
End If
If (LoadValue * DC) < Left Then
LoadLevel = 650
End If
If (LoadValue * DC) < Left Then
LoadLevel = 665
End If
' This is for temperatures at 60
ElseIf Temperature = 60 Then
LoadLevel = 20
If (LoadValue * DC) < Left Then
LoadLevel = 25
End If
If (LoadValue * DC) < Left Then
LoadLevel = 30
End If
If (LoadValue * DC) < Left Then
LoadLevel = 40
End If
If (LoadValue * DC) < Left Then
LoadLevel = 55
End If
If (LoadValue * DC) < Left Then
LoadLevel = 70
End If
If (LoadValue * DC) < Left Then
LoadLevel = 85
End If
If (LoadValue * DC) < Left Then
LoadLevel = 95
End If
If (LoadValue * DC) < Left Then
LoadLevel = 110
End If
If (LoadValue * DC) < Left Then
LoadLevel = 125
End If
If (LoadValue * DC) < Left Then
LoadLevel = 145
End If
If (LoadValue * DC) < Left Then
LoadLevel = 165
End If
If (LoadValue * DC) < Left Then
LoadLevel = 195
End If
If (LoadValue * DC) < Left Then
LoadLevel = 215
End If
If (LoadValue * DC) < Left Then
LoadLevel = 240
End If
If (LoadValue * DC) < Left Then
LoadLevel = 260
End If
If (LoadValue * DC) < Left Then
LoadLevel = 280
End If
If (LoadValue * DC) < Left Then
LoadLevel = 320
End If
If (LoadValue * DC) < Left Then
LoadLevel = 355
End If
If (LoadValue * DC) < Left Then
LoadLevel = 385
End If
If (LoadValue * DC) < Left Then
LoadLevel = 400
End If
If (LoadValue * DC) < Left Then
LoadLevel = 410
End If
If (LoadValue * DC) < Left Then
LoadLevel = 435
End If
If (LoadValue * DC) < Left Then
LoadLevel = 455
End If
If (LoadValue * DC) < Left Then
LoadLevel = 495
End If
If (LoadValue * DC) < Left Then
LoadLevel = 520
End If
If (LoadValue * DC) < Left Then
LoadLevel = 545
End If
If (LoadValue * DC) < Left Then
LoadLevel = 560
End If
End If
LoadValue = LoadLevel
Loop
End If
End Function