从行数组填充ListBox
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从行数组填充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
限定为工作表,但在这种情况下,因为我们只需要一个地址字符串,所以在这里并不重要。
另一答案
您可能已在表单中添加了Forms控件而非ActiveX控件;表格控件由表格(“tblSurveyMatches”)处理。形状集合。
引发错误是因为Sheets中没有ListBox1(“tblSurveyMatches”)(确实如果它是ActiveX控件)。
以上是关于从行数组填充ListBox的主要内容,如果未能解决你的问题,请参考以下文章