我正在尝试编写一个将输入范围转换为数组的代码,然后将该数组提供给我的表单中的列表框的RowSource。
根据MSDN" RowSource"列表/组合框的属性应该接受数组,所以我不确定为什么我在这里遇到运行时错误:
Option Explicit
Sub test()
Dim rng As Range
Dim myarray As Variant
Set rng = Worksheets("Sheet1").Range("List")
myarray = RangeToArray(Range("List"))
UserForm1.ListBox1.RowSource = "myarray"
End Sub
Function RangeToArray(inputRange As Range) As Variant
Dim inputArray As Variant
inputArray = inputRange.Value
'operations on inputArray
'...'
RangeToArray = inputArray
End Function
答案 0 :(得分:1)
尝试UserForm1.ListBox1.List = myarray
答案 1 :(得分:0)
根据Excel VBA帮助:
RowSource属性接受Microsoft Excel中的工作表范围。
如果您的MSDN链接另有说明,请发布。
无论如何,要获得您想要的结果,请更改
UserForm1.ListBox1.RowSource = "myarray"
到
UserForm1.ListBox1.List = myarray