【发布时间】:2016-03-03 05:23:52
【问题描述】:
我使用两种方法在组合框行源中构建动态名称列表。在第一个实例中,我使用:
使用 Sheet2
RateComboBox.RowSource = "'" & .Name & "'!" & .Range("b9", .Range("c33").End(xlUp)).Address 结束于
控制源设置为工作表上的一个单元格,绑定的列是第 1 列,或范围 b9:b33,其编号为 1-25,列计数为 2,第二列列表名称(1- 25) 因为它们被添加。在 C9:C33 范围满之前它工作得很好,此时下拉列表显示一个虚假列表,其中包含现在从 B1 开始的项目(文本)。发生了什么?
在第二种情况下我使用:
Me.ComboBox1.RowSource = Worksheets("Form").Range("B8", Range("B32").End(xlUp)).Address
在 b8:B32 范围内添加了名称,因为它们被添加到那里。控制源设置为工作表上的一个单元格,绑定列是第 1 列。在(列表)范围已满之前,它再次工作得很好。在这两种情况下,我只希望在组合框中的项目(名称)被添加到这些范围内时被列出。 ??
【问题讨论】:
-
如果单元格 32 有文本,它将一直运行到下一个空单元格...就像在第一个示例中一样,您应该从 34 开始或从第一个单元格 (9) 向下移动
-
有趣的是,第一个示例中列出了高于 b9 的文本,第二个示例也是如此。我应该如何编码?
-
检查最后一个单元格是否为空...如果是:照此执行,里面有文本直接选择最后一个...