Reputation: 1
I'm creating a formulation to form the name of equipment. First part (Bname = "H" Or Bname = "S") is working well. The second part (ElseIf Bname = "04" Or Bname = 4 Or Bname = "03" Or Bname = "02" Or Bname = "01" Or Bname = "00" Or Bname = "B" Or Bname = "B1") is not responsive.
I'm pretty sure that this code was working in the earlier version 2010. Can anyone advice what's went wrong with code.
Input:
Location Equip Sensor
H-00-15-0-27 FCU-GF-03 DISCHARGE TEMP,
Output:
Sensor Name Appearing
FCUGF03_H_00_15.0_27_DsTmp
Function Name_Alpha(Equipment_Tag As String, Sensor_Tag As String, Location_Tag As String) As String
Dim Bname As String
Dim Bname2 As String
Dim Bname3 As String
Dim Bname4 As String
Dim Bname5 As String
Dim EquipTag As Variant
Dim EquipTag2 As String
Dim EquipTag3 As String
Dim SensorTag As String
Bname = Split(Location_Tag, "-")(0)
Bname2 = Split(Trim(Split(Location_Tag, "-")(1)), "-")(0)
Bname3 = Split(Trim(Split(Location_Tag, "-")(2)), "-")(0)
Bname4 = Split(Trim(Split(Location_Tag, "-")(3)), "-")(0)
Bname5 = Split(Trim(Split(Location_Tag, "-")(4)), "-")(0)
EquipTag = Split(Equipment_Tag, "-")(0)
EquipTag2 = Split(Trim(Split(Equipment_Tag, "-")(1)), "-")(0)
EquipTag3 = Split(Trim(Split(Equipment_Tag, "-")(2)), "-")(0)
SensorTag = Split(Sensor_Tag, " ")(0)
If Bname = "H" Or Bname = "S" Then
If EquipTag = "FCU" Or EquipTag = "WMU" Then
If SensorTag = "TEMPERATURE" Then
Name_Alpha = EquipTag & EquipTag2 & EquipTag3 & "_" & Bname & "_" & Bname2 & "_" & Bname3 & "." & Bname4 & "_" & Bname5 & "_ZnTmp"
ElseIf SensorTag = "DISCHARGE" Then
Name_Alpha = EquipTag & EquipTag2 & EquipTag3 & "_" & Bname & "_" & Bname2 & "_" & Bname3 & "." & Bname4 & "_" & Bname5 & "_DsTmp"
End If
End If
ElseIf Bname = "04" Or Bname = 4 Or Bname = "03" Or Bname = "02" Or Bname = "01" Or Bname = "00" Or Bname = "B" Or Bname = "B1" Then
If EquipTag = "FCU" Or EquipTag = "WMU" Then
If SensorTag = "TEMPERATURE" Then
Name_Alpha = EquipTag & EquipTag2 & EquipTag3 & "_" & Bname & "_" & Bname2 & "_" & Bname3 & "." & Bname4 & "_ZnTmp"
ElseIf SensorTag = "DISCHARGE" Then
Name_Alpha = EquipTag & EquipTag2 & EquipTag3 & "_" & Bname & "_" & Bname2 & "_" & Bname3 & "." & Bname4 & "_DsTmp"
End If
End If
End If
End Function
Upvotes: 0
Views: 44
Reputation: 2370
With the following changes, this works correctly using your test data:
Change
Dim EquipTag As Variant
To
Dim EquipTag As String
And change
ElseIf Bname = "04" Or Bname = 4 Or Bname = "03" Or Bname = "02" Or Bname = "01" Or Bname = "00" Or Bname = "B" Or Bname = "B1" Then
to
ElseIf Bname = "04" Or Bname = "4" Or Bname = "03" Or Bname = "02" Or Bname = "01" Or Bname = "00" Or Bname = "B" Or Bname = "B1" Then
Upvotes: 1