所需对象:VBA Excel

所需对象:VBA Excel,vba,excel,Vba,Excel,我有一个范围,我正在转换并分配给一个带有rowsource的列表框。当我在将我的范围(TSelected_range)分配给rowsource的行上运行程序时,我得到错误“Object required”。有什么想法吗 Set Selected_Range = WS_Sel.Range(WS_Sel.Cells(2, 1), WS_Sel.Cells(counter + 1, LstCol1)) Dim TSelected_Range As Variant TSelected_Range = A

我有一个范围,我正在转换并分配给一个带有rowsource的列表框。当我在将我的范围(TSelected_range)分配给rowsource的行上运行程序时,我得到错误“Object required”。有什么想法吗

Set Selected_Range = WS_Sel.Range(WS_Sel.Cells(2, 1), WS_Sel.Cells(counter + 1, LstCol1))
Dim TSelected_Range As Variant
TSelected_Range = Application.Transpose(Selected_Range)

With TabData.DataTable
    .ColumnHeads = True
    .ColumnCount = counter + 1
    .RowSource = TSelected_Range.Value   ********errors here 
End With

使用
列表
属性

With TabData.DataTable
    .ColumnHeads = True
    .ColumnCount = counter + 1
    .List = TSelected_Range
End With

这应该适用于您我使用了数组和List属性:

Set Selected_Range = WS_Sel.Range(WS_Sel.Cells(2, 1), WS_Sel.Cells(counter + 1, LstCol1))
Dim TSelected_Range() As Variant
TSelected_Range = Selected_Range.Value
TSelected_Range = Application.Transpose(TSelected_Range)

With TabData.DataTable
    .ColumnHeads = True
    .ColumnCount = counter + 1
    .List = TSelected_Range   
End With

将所选的_范围声明为
范围
,而不是
变量
?e、 g.
Dim t选择的_范围作为范围
尝试过。它不起作用:(仍然说‘需要对象’:(我假设
TabData
是用户表单的名称,
DataTable
是itI中的列表框控件的名称,我不知道为什么。假设您的变量调光和设置准确,该代码对我起作用。起作用了!谢谢!