使用VBA用户表单,如何使用不同的文本和值填充组合框?

时间:2015-06-30 17:54:12

标签: excel vba excel-vba combobox

我正在尝试使用命名范围填充VBA用户表单组合框,并且我希望文本值显示在组合框中供用户选择,但我想要返回的值是对初始命名范围的单元格引用。这样它会指向命名范围,如果我更改了该文本,它将自动更新我在表单上输入的所有引用。

现在我可以通过遍历范围来获取命名范围以填充组合框,并使用.AddItem为其提供文本值,但是它只是将该文本值转储到我的电子表格中,而不是我希望它从填充它的范围中获取单元格引用。

2 个答案:

答案 0 :(得分:0)

最简单的方法是创建一个数组(X,2)X,即数组中的项数。然后将要显示的String放在Array(1,1)中,将所需数据放入Array(1,2)中,然后像普通一样填充组合框。当您使用数组引用他们选择的项目时。他们选择第8项,你知道它是数组(8,2)如果您需要更多帮助,请发布一些代码。

答案 1 :(得分:0)

因此,经过更多的研究,似乎我无法用组合框直接完成我想要的东西。我最后只是循环遍历范围以使用文本值填充组合框,然后当我提交表单时,我循环使用相同的值范围,如果提交的值与值范围匹配,则检查它,如果它确实,然后返回.Address而不是.Value,这给了我正在寻找的单元格引用。太糟糕了,组合框不像真正的html选择菜单那样工作,它会让我的生活变得更轻松,但最终我能够使它工作,它只是不像我想的那样干净