我试图使用另一张工作表中的.ListFillRange来填充组合框但是列表没有被填充。
我有组合框" sheet1"以及" sheet2"在细胞A2:A3000
中从sheet1我尝试使用:
set ws = ThisWorkbook.Worksheets("sheet2")
set Rng = ws.Range("A2:A3000")
ComboBox.ListFillRange = ws.Range(Rng)
我也试过
ComboBox.ListFillRange = ws.Range("sheet2!A2:A3000")
然而,组合框没有被填充,有什么建议吗?
答案 0 :(得分:2)
ListFillRange是一个字符串,因此您需要传入范围的地址。由于范围在另一张纸上,因此您需要限定该地址。幸运的是,Address属性有一个External参数。
Sheet1.ComboBox1.ListFillRange = Sheet2.Range("A2:A3000").Address(, , , True)
Address属性看起来像
?Sheet2.Range("A2:A3000").Address(, , , True)
[Book2]Sheet2!$A$2:$A$3000
但是控件理解并转换它。
?sheet1.ComboBox1.ListFillRange
Sheet2!$A$2:$A$3000
话虽如此,我从不使用ListFillRange。我更喜欢使用List或AddItem来填充控件。