我一直在尝试让组合框使用表格的第一列作为其范围输入,但它似乎什么也没做。
例如。
sheet1.ComboBox1.ListFillRange = "table1"
sheet1.ComboBox1.ListFillRange = "table1[Column 1]"
两者都不起作用。即使使用表单 ComboBox 而不是 activeX 并将“table1”或“table1[Column 1]”作为输入范围也是如此。我还尝试在字符串的开头添加“=”(“=table1”等)。
然后我决定命名表范围,因为使用 .ListFillRange 时其他命名范围也可以工作:
sheet1.ComboBox1.ListFillRange = "RangeName"
这也不起作用(我认为是因为命名范围只是对我最初尝试过的同一事物的引用)。
那么我是否只需要制定一个正常的公式来找到第一列所在的范围,还是我遗漏了一些东西? (这看起来确实应该是一个功能,因为它很简单,但我想没有什么比我们希望的那么简单了)
sheet1.ComboBox1.ListFillRange = Range(“table1”).Columns(1).Address
这里使用Combobox的
.List
方法来填充。
首先,您要为表中的第 1 列设置范围,然后使用该范围的
.Value
属性来完成您要查找的内容:
Dim rng As Range
Set rng = Sheet1.ListObjects("Table1").ListColumns(1).Range
Sheet1.ComboBox1.List = rng.Value
这将填充您的组合框。
但这也返回了标题