在Excel VBA中使用Select Case

3

只是好奇,是否有办法将这段代码缩减为更少的行数?

For k = 1 To 12
    Select Case k
        Case 1
            col = 9
        Case 2
            col = 10
        Case 3
            col = 11
        Case 4
            col = 12
        Case 5
            col = 13
        Case 6
            col = 14
        Case 7
            col = 15
        Case 8
            col = 16
        Case 9
            col = 17
        Case 10
            col = 18
        Case 11
            col = 19
        Case 12
            col = 20
    End Select
Next

谢谢!

1个回答

3
怎么样:
For k = 1 to 12
   col = k + 8
Next

或者您可能正在寻找以下内容:

For k = 1 To 12
    Select Case k
        Case 1 To 12
            col = k + 8
    End Select
Next

这里是相关的MSDN链接,你可以向下滚动查看示例。

太棒了!我知道一定有更好的循环方式。非常感谢。 - user1775842
可能需要添加一个else子句以确保安全。 - Preet Sangha
1
@PreetSangha 或许是这样,但对于这个例子来说真的不需要。我考虑过了,但是原帖作者想要更少的代码行数,加上那个并没有任何意义。 - Daniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接