0
모두 안녕하세요.조건이 충족되지 않을 때 "True"로 평가되는 IF 문
여러 개의 가스 값에 따라 수행 할 작업을 결정하는 계산기를 만들려고합니다. 각 가스는 4 개의 범위 중 하나에 속하는 값을 가질 것입니다. 각 가스에는 그 값이 속하는 범위의 "우선 순위"가 부여됩니다. 그런 다음 가장 높은 우선 순위가 수행 할 작업을 결정합니다.
문제점 :
제 조건부 각 블록의 문이 셀의 값을 조건에 지정된 값보다 큰 경우에도 "참"으로 평가되는 경우. 셀의 값에 따라 조건을 적절히 평가하기 위해 조건문을 어떻게 얻을 수 있습니까?
하위 DGOA_Action_500kVA()
Dim HydrogenValue As Variant
Dim MethaneValue As Variant
Dim EthaneVaule As Variant
Dim EthyleneValue As Variant
Dim AcetyleneValue As Variant
Dim Action As Integer
Dim HydrogenPriority As Integer
Dim MethanePriority As Integer
Dim EthanePriority As Integer
Dim EthylenePriority As Integer
Dim AcetylenePriority As Integer
Worksheets("500 kVa").Activate
HydrogenValue = Worksheets("500 kVa").Range("B3").Select
MethaneValue = Worksheets("500 kVa").Range("C3").Select
EthaneVaule = Worksheets("500 kVa").Range("F3").Select
EthyleneValue = Worksheets("500 kVa").Range("G3").Select
AcetyleneValue = Worksheets("500 kVa").Range("H3").Select
Dim PriorityRange As Range
Set PriorityRange = Worksheets("500 kVa").Range("J3:P3")
If HydrogenValue < 2000 Then
HydrogenPriority = 1
MsgBox (Worksheets("500 kVa").Range("B6").Select)
ElseIf HydrogenValue >= 2000 And HydrogenValue < 20000 Then
HydrogenPriority = 2
ElseIf HydrogenValue >= 20000 And HydrogenValue < 27000 Then
HydrogenPriority = 3
ElseIf HydrogenValue >= 27000 Then
HydrogenPriority = 4
End If
If MethaneValue < 2000 Then
MethanePriority = 1
ElseIf MethaneValue >= 2000 And MethaneValue < 15000 Then
MethanePriority = 2
ElseIf MethaneValue >= 15000 Then
MethanePriority = 4
End If
If EthaneVaule < 1000 Then
EthanePriority = 1
ElseIf EthaneVaule >= 1000 And EthaneVaule < 2250 Then
EthanePriority = 3
ElseIf EthaneVaule <= 2250 Then
EthanePriority = 4
End If
If EthyleneValue < 1000 Then
EthylenePriority = 1
ElseIf EthyleneValue >= 1000 And EthyleneValue < 3000 Then
EthylenePriority = 3
ElseIf EthyleneValue >= 2250 Then
EthylenePriority = 4
Else
EthylenePriority = 1
End If
If AcetyleneValue < 1 Then
AcetylenePriority = 1
ElseIf AcetyleneValue >= 1 And AcetyleneValue < 20 Then
AcetylenePriority = 2
ElseIf AcetyleneValue >= 20 And AcetyleneValue < 100 Then
AcetylenePriority = 3
ElseIf AcetyleneValue >= 100 Then
AcetylenePriority = 4
Else
AcetylenePriority = 1
End If
Worksheets("500 kVa").Range("J3").Value = HydrogenPriority
Worksheets("500 kVa").Range("K3").Value = MethanePriority
Worksheets("500 kVa").Range("N3").Value = EthanePriority
Worksheets("500 kVa").Range("O3").Value = EthylenePriority
Worksheets("500 kVa").Range("P3").Value = AcetylenePriority
Action = Application.WorksheetFunction.Max(PriorityRange)
Select Case Action
Case 1
Worksheets("Sheet1").Range("AX4").Value = "Normal"
Case 2
Worksheets("Sheet1").Range("AX4").Value = "Add in Watch List"
Case 3
Worksheets("Sheet1").Range("AX4").Value = "Resample"
Case 4
Worksheets("Sheet1").Range("AX4").Value = "Engineering Evaluation"
Case Else
Worksheets("Sheet1").Range("AX4").Value = "Error"
End Select
Worksheets(1).Activate
MsgBox ("The Action Has Been Determined")
최종 하위