我尝试使用此代码找到一个基于两种不同分类的类别,但我收到了通知" elseif必须先匹配if或elseif"在我做的前两个分类。
if pof < 0.1 then CCat = "A"
elseif 0.1 < pof < 0.2 then CCat = "B"
elseif 0.2 < pof < 0.3 then CCat = "C"
elseif 0.3 < pof < 0.5 then CCat = "D"
else CCat = "E"
end if
if cof < 10000 then CCat = "A"
elseif 10000 < cof < 50000 then CCat = "B"
elseif 50000 < cof < 150000 then CCat = "C"
elseif 150000 < cof < 1000000 then CCat = "D"
else CCat = "E"
end if
我的if条件有问题吗? pof和cof都是之前计算得到的双倍。
答案 0 :(得分:1)
这只是你的一次语法绊倒。如果您在&#34;然后&#34;之后删除代码运算符到下一行,VB认为它是一个多行语句,而不是单行语句。当你得到ElseIf,Else和End If
时我打赌你已经习惯了C#,你可以用括号将它全部映射出来。 {}
我花了一些时间来记住VB,但这就是我认为你想要的东西:
If pof < 0.1 Then
CCat = "A"
ElseIf 0.1 < pof < 0.2 Then
CCat = "B"
ElseIf 0.2 < pof < 0.3 Then
CCat = "C"
ElseIf 0.3 < pof < 0.5 Then
CCat = "D"
Else
CCat = "E"
End If
If cof < 10000 Then
CCat = "A"
ElseIf 10000 < cof < 50000 Then
CCat = "B"
ElseIf 50000 < cof < 150000 Then
CCat = "C"
ElseIf 150000 < cof < 1000000 Then
CCat = "D"
Else
CCat = "E"
End If