2016-07-28 51 views
0

我试图找到一个基于这个代码的两个不同分类的类别,但我得到的通知是“elseif必须在匹配if或elseif之前”在前两个分类上。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 

是否有我的问题,如果条件? pof和cof都是之前完成的计算的结果。

回答

1

这只是一个句子,你打的句法。如果您将代码放在“Then”操作符后面到下一行,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 
+0

哇感谢!它解决了这个问题哈哈 –