【问题标题】:Use table column for ListFillRange on Combo and List Boxes在组合框和列表框上为 ListFillRange 使用表格列
【发布时间】:2018-09-18 09:47:15
【问题描述】:

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

例如

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

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

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

sheet1.ComboBox1.ListFillRange = "RangeName"

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

所以我只需要制作一个普通公式来找到第一列所在的范围还是我遗漏了什么? (这似乎真的应该是一个功能,因为它是如此简单,但我想没有什么比我们想要的那么简单了)

【问题讨论】:

    标签: vba excel controls


    【解决方案1】:
    sheet1.ComboBox1.ListFillRange = Range(“table1”).Columns(1).Address
    

    【讨论】:

      【解决方案2】:

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

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

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

      这将填充您的组合框。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-10
        • 1970-01-01
        • 2016-12-29
        • 2016-11-26
        • 1970-01-01
        相关资源
        最近更新 更多