Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA-如何避免在select case语句中复制粘贴代码?_Vba_Case Statement - Fatal编程技术网

VBA-如何避免在select case语句中复制粘贴代码?

VBA-如何避免在select case语句中复制粘贴代码?,vba,case-statement,Vba,Case Statement,我有一些select case语句,它根据三个字母的首字母缩略词运行三个函数中的一个。由于有几十个可能的acrynoms,代码变得非常重复(参见下面的抽象示例)。有没有办法缩短这个时间,这样就只有一个案例调用function1,只有一个案例调用function2 Select varAcronym Case "ABC" function1 Case "DEF" function1 Case "GHI" function1 Case "JKL" fu

我有一些select case语句,它根据三个字母的首字母缩略词运行三个函数中的一个。由于有几十个可能的acrynoms,代码变得非常重复(参见下面的抽象示例)。有没有办法缩短这个时间,这样就只有一个案例调用function1,只有一个案例调用function2

Select varAcronym
  Case "ABC"
    function1
  Case "DEF"
    function1
  Case "GHI"
    function1
  Case "JKL"
    function2
  Case "MNO"
    function2
  Case "PQR"
    function2
End Select

谢谢。

您可以在
案例
行中有多个案例条件

Select varAcronym
  Case "ABC", "DEF", "GHI"
    function1
  Case "JKL", "MNO", "PQR"
    function2
End Select
确保在“选择”之后添加“案例”


隐马尔可夫模型。。。我意识到我只需要几个if语句就可以做到这一点。但是,我仍然很好奇如何使用select case语句来实现这一点。我不会发布答案,因为我无法测试-您可能可以将案例“ABC”转换为“GHI”。它将区分大小写。
Select Case varAcronym
  Case "ABC", "DEF", "GHI"
    function1
  Case "JKL", "MNO", "PQR"
    function2
End Select