在组合框和列表框上使用表格列作为 ListFillRange

问题描述 投票:0回答:3

我一直在尝试让组合框使用表格的第一列作为其范围输入,但它似乎什么也没做。

例如。

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

两者都不起作用。即使使用表单 ComboBox 而不是 activeX 并将“table1”或“table1[Column 1]”作为输入范围也是如此。我还尝试在字符串的开头添加“=”(“=table1”等)。

然后我决定命名表范围,因为使用 .ListFillRange 时其他命名范围也可以工作:

sheet1.ComboBox1.ListFillRange = "RangeName"

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

那么我是否只需要制定一个正常的公式来找到第一列所在的范围,还是我遗漏了一些东西? (这看起来确实应该是一个功能,因为它很简单,但我想没有什么比我们希望的那么简单了)

vba excel controls
3个回答
5
投票
sheet1.ComboBox1.ListFillRange = Range(“table1”).Columns(1).Address

1
投票

这里使用Combobox的

.List
方法来填充。

首先,您要为表中的第 1 列设置范围,然后使用该范围的

.Value
属性来完成您要查找的内容:

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

Sheet1.ComboBox1.List = rng.Value

这将填充您的组合框。


-1
投票

但这也返回了标题

© www.soinside.com 2019 - 2024. All rights reserved.