2011-06-07 56 views
1

我想将我的ComboBox值设置为命名数组常量,在其中进入名称管理器并定义一个名称并为其赋值:如何使用命名数组常量填充Excel中的Active-X组合框

={"A", "B", "C"} 

我发现ListFillRange只会取一个范围,所以我不能指派给那个。

虽然它会工作的一个正常的命名范围,就像这样:

myComboBox.ListFillRange = "MyList" 

那么,你如何分配一个指定数组常量来填充组合框?

回答

2

经过一番搜索,我发现这个解决方案:

myComboBox.List() = Evaluate(ThisWorkbook.Names("MyList").RefersTo) 
+0

您还可以使用 “价值” 而不是 “引用关联” 。 – 2011-06-07 23:57:10

1

我不能让你的方法为我工作,但它可能是我的设置?

如果是我在尝试此我要么

  1. 装入列表中的项目编程项目

2I)假设任意 “J” 是listfill范围

2)定义一个命名范围,比如“COLJ”= = Sheet1!$ J $ 2:INDEX($ J $ 2:$ J $ 65000,COUNTA($ J $ 2:$ J $ 65000))

2II)复制/过滤器,你想要的物品到J2:JX

2II)使用VBA分配Listfillrange,myComboBox.ListFillRange = “COLJ”

+0

我故意试图避免在单元格或VBA中列出我的列表。我不喜欢在单元格中使用我的组合框列表。对于我目前的项目来说,在VBA中分配一些东西本来是可以的,但我一直在寻找一种解决方案,这种解决方案对我所有的电子表格都是一致的和有效的。 – 2011-06-07 23:56:44

+0

我同意你的看法,但Excel/VBA/Userforms创建kluge :)我所知道的是'高级过滤器'是你在Excel中的朋友。此外,如果您的列表与控件不在同一工作表中,则会出现问题。 – osknows 2011-06-08 00:10:41