在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 

在这种情况下,select案例用于testing一个值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 

现在,select案例的一个警告,一旦发现匹配,它会忽略所有其他。 换句话说,如果OptCreate.Value为True,那么它将停止并且不testingOptModify是否为True。

您的案例testingexpression式(TemplatePick)与您的expression式列表(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 

更多资源https://msdn.microsoft.com/en-us/library/cy37t14y.aspx