在一张Excel工作表上我有一个组合框。
在另一张纸上,我有一个带有命名列的表(" KontoNr"),它应该输入组合框。表和列在名称管理器中命名,显示为=tabKontenplan
和KontoNr =tabKontenplan[KontoNr]
。
现在我尝试像这样填写comboxbox失败了:
combobox.listfillrange = "=tabKontenplan![KontoNr]"
和
combobox.listfillrange = "=KontoNr"
也行不通。 没有错误,组合框只是空着......为什么会这样?
答案 0 :(得分:1)
我在工作表上添加了一个空的ActiveX ListBox
控件,然后在该工作表的Range
中输入了几个随机值,命名为范围VALUES
,然后添加了此代码在工作表的代码隐藏中:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ListBox1.ListFillRange = "VALUES"
End Sub
这就是我需要做的一切。删除指定范围前面的=
,它“正常”。确保定义的名称在范围内,并且一切顺利。
如果命名范围是作用域到另一个工作表,它将无法工作。删除名称并在工作簿范围中重新创建。
答案 1 :(得分:0)
假设"另一张表"是Sheet2,
no good: combobox.listfillrange = "=" & Sheet2.Range("KontoNr").Address
更正的答案:
combobox.listfillrange = "=Sheet2!" & Sheet2.Range("KontoNr").Address