listfillrange excel

时间:2012-01-23 16:44:17

标签: excel vba combobox

我知道如何使用代码将值分配给组合框,但我想要做的是说列表是0-20

事实上,我有许多组合框,每个组合框都有不同的范围。现在我知道我可以动态创建数组以适应和分配这些数组,但是有没有办法通过给出最小值和最大值以及使用乘法数组来填充组合列表?

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

最简单的编码方式是什么?

问候

亚伦

1 个答案:

答案 0 :(得分:1)

我同意@Tim Williams。把它放在像这样的函数中

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