从行数组填充ListBox

任何人都可以解释我的代码有什么问题吗? 我正在试图在行数组上填充一个ListBox。 我得到了运行时错误438.对象不支持这个属性或方法,但不清楚我编码错了什么。 任何帮助修复将非常感激。

Private Sub ListBox1_Click() Dim LastRow As Long With Sheets("TempList") LastRow = .Range("A" & Rows.Count).End(xlUp).Row End With Sheets("tblSurveyMatches").ListBox1.RowSource = Sheets("TempList").Range("A2" & LastRow) End Sub 

谢谢。

如果这是您的工作表上的ActiveX控件,这将工作,您需要使用ListFillRange而不是RowSource

 Sheets("tblSurveyMatches").ListBox1.ListFillRange= Sheets("TempList").Name & "!" & Range("A2:A" & LastRow).Address 

请注意,将Range限定在工作表中通常是最佳做法 ,但在这种情况下,因为我们所需要的只是一个地址string,所以在这里并不重要。

你有可能添加一个窗体控件,而不是一个ActiveX控件到您的工作表; 表单控件由表单(“tblSurveyMatches”)处理。形状集合。

由于表单中没有ListBox1(“tblSurveyMatches”)(如果是ActiveX控件,确实会有这个错误)。