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