2012-01-23 132 views
0

我知道如何將值分配給的代碼組合框,但我想要做的是說,名單是從0-20listfillrange擅長

其實我有很多的每一個不同的組合框範圍。現在我知道我可以隨時創建數組來適應和分配這些數組,但是有什麼方法通過給出最小和最大值以及使用乘數組來填充組合列表?

所以
combobox_1 = 1〜67
combobox_2 = 5〜20
combobox_3 = 23至33
...
...
combobox_87 = 84〜108

什麼最整潔代碼的方式?

問候

亞倫

+0

你可以嘗試一種方式,並要求在http://codereview.stackexchange.com一些改進。 – JMax

+2

沒有內置的方法。只需創建一個滿足您的範圍的子文件:'FillWithRange(cbox As Object,ValMin as Long,ValMax as Long)' –

回答

1

我同意@Tim威廉姆斯。只是把它放在這樣的功能

Sub Fillcb() 

    Sheet1.ComboBox1.List = ConsecutiveArray(5, 20) 

End Sub 

Function ConsecutiveArray(lMin As Long, lMax As Long) As Variant 

    Dim aReturn() As Long 
    Dim i As Long 
    Dim lCnt As Long 

    ReDim aReturn(0 To lMax - lMin) 

    For i = lMin To lMax 
     aReturn(lCnt) = i 
     lCnt = lCnt + 1 
    Next i 

    ConsecutiveArray = aReturn 

End Function 
+0

看起來不錯,歡呼傢伙。幾乎和我昨晚做的一樣。感謝你的代碼,雖然它比我的一些整齊:) – DevilWAH