2016-07-28 89 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

哇感謝!它解決了這個問題哈哈 –