|
本帖最后由 ccq000000 于 2014-3-4 12:24 编辑
代码如下:
Private Sub ComboBox1_GotFocus()
Dim arr, arr1()
Dim k%, x%
arr = Range("a1:a10")
For x = 1 To UBound(arr)
If arr(x, 1) > 10 Then
k = k + 1
ReDim Preserve arr1(1 To k, 1 To 1)
(此处出错,如定义arr1是一维的redim preserve arr1(1 to k)就能正常运行)
arr1(k, 1) = arr(x, 1)
End If
Next x
ComboBox1.List = arr1
End Sub
这是为什么?
redim只能改变动态数组的末维。
ReDim Preserve arr1(1 To 1, 1 To k)
输出时,把arr1数组转置一下即可
|
|