当条件满足时,下面的案例陈述不起作用。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'开关。 –