RowSource属性错误vba

我正在尝试编写一个将input范围转换为数组的代码,然后将该数组馈送到我的表单中的列表框的RowSource中。

根据MSDN列表/combobox的“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 

尝试UserForm1.ListBox1.List = myarray

根据Excel VBA的帮助:

行来源属性接受从Microsoft Excel工作表范围。

如果您有一个MSDN链接,否则,请张贴它。

无论如何,为了得到你想要的结果,改变

 UserForm1.ListBox1.RowSource = "myarray" 

 UserForm1.ListBox1.List = myarray