任何人都可以解释我的代码有什么问题吗?我试图在行数组上填充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
答案 0 :(得分:1)
如果这是工作表上的ActiveX控件,这将有效,您需要使用ListFillRange
而不是RowSource
。
Sheets("tblSurveyMatches").ListBox1.ListFillRange= Sheets("TempList").Name & "!" & Range("A2:A" & LastRow).Address
请注意,通常最佳做法可以将Range
限定为工作表,但在这种情况下,因为我们只需要一个地址字符串,所以在这里并不重要。
答案 1 :(得分:0)
您可能已在表单中添加了Forms控件而非ActiveX控件;表格控件由表格处理(" tblSurveyMatches")。形状集合。
引发错误是因为Sheets中没有ListBox1(" tblSurveyMatches")(确实如果它是ActiveX控件)。