2012-10-26 78 views
1

只是好奇,但有什麼辦法可以減少這些代碼行數?在Excel中使用Select Case vba

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

如何:

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 

這裏的relevant MSDN,您可以向下滾動的例子。

+0

Sweeeet !!我知道他們必須是更好的循環方式。非常感謝 – user1775842

+0

可能想要爲安全添加一個else子句 –

+1

@PreetSangha也許,但對於這個例子來說,它確實不是必需的。我考慮過了,但是OP想要更少的線條,並補充說在這種情況下不會增加價值。 –