在组合和列表框上使用ListFillRange的表列

时间:2018-04-09 04:09:25

标签: excel vba excel-vba controls

我一直试图让ComboBox使用表格的第一列作为其范围输入,但它似乎什么都不做。

离。

sheet1.ComboBox1.ListFillRange = "table1"
sheet1.ComboBox1.ListFillRange = "table1[Column 1]"

两个都不工作。即使使用表单ComboBox而不是activeX one并放置' table1'或者' table1 [第1列]'作为输入范围。我也试过添加' ='在字符串的开头(" = table1"等)。

然后我决定命名表范围,因为其他命名范围在使用时会起作用.ListFillRange:

sheet1.ComboBox1.ListFillRange = "RangeName"

这也不起作用(我假设因为命名范围只是对我最初尝试的同一事物的引用)。

所以我只需要制作一个正常的公式来找到第一列所在的范围或者我遗漏了什么? (这看起来应该是一个特征,因为它很简单,但我想没有什么比我们喜欢它更直接了)

2 个答案:

答案 0 :(得分:2)

sheet1.ComboBox1.ListFillRange = Range(“table1”).Columns(1).Address

答案 1 :(得分:1)

这使用Combobox的.List方法来填充。

首先,您要在表格中设置第1列的范围,然后使用范围的.Value属性来完成您要查找的内容:

Dim rng As Range
Set rng = Sheet1.ListObjects("Table1").ListColumns(1).Range

Sheet1.ComboBox1.List = rng.Value

这将填充你的Combobox。