當條件滿足時,下面的案例陳述不起作用。VBA中的案例陳述
Dim TemplatePick As String
Select Case TemplatePick
Case OptCreate.Value = True
Call WebFormInfo
Case OptModify = True
Call ModifyTemplate
' many more case statement to come
End Select
當條件滿足時,下面的案例陳述不起作用。VBA中的案例陳述
Dim TemplatePick As String
Select Case TemplatePick
Case OptCreate.Value = True
Call WebFormInfo
Case OptModify = True
Call ModifyTemplate
' many more case statement to come
End Select
選擇的情況下被使用在這種情況下TemplatePick
測試一個值,那麼情況是Case "A"
這將火的時候,TemplatePick
=「A」
所以這個工作:
Select Case True
Case OptCreate.Value
Call WebFormInfo
Case OptModify
Call ModifyTemplate
' many more case statement to come
End Select
現在需要選擇案例的一個警告,一旦發現匹配,它會忽略所有其他案例。換句話說,如果OptCreate.Value
爲真,則它將停止並且不測試OptModify
是否爲真。
'Select Case True'? –
@DavidZemens是的,它基本上將案件陳述變成了「ELSEIF」陳述。 –
有趣的......所以它會繼續處理'假'情況,直到它遇到第一個'真'情況。 –
您的案例測試表達式(TemplatePick)與您的表達式列表(OptCreate.Value,OptMOdify)不一樣。我很難理解你在做什麼。適當的結構會是這個樣子:
Dim TemplatePick As String
Select Case TemplatePick
Case "Template 1"
Call WebFormInfo
Case "Template 2"
Call ModifyTemplate
...
case Else
'Do default behavior
End Select
選擇的情況下被用來測試在這種情況下,一個值'TemplatePick'那麼情況是'案「A」'這將當TemplatePick =「A」時觸發 –
您的測試案例(TemplatePick)與您的條件(案例陳述後)不符。瞭解更多[這裏](https://www.techonthenet.com/excel/formulas/case.php)。 – PartyHatPanda
如果您試圖實現可能的多個條件語句,您將需要'If'語句而不是'Case'開關。 –