我怎样才能dynamic地填充一个Excelcombobox与另一个表上的命名表的内容?
在一张Excel表上我有一个combobox。
在另一张表中,我有一个带有命名列(“KontoNr”)的表格,它应该input到combobox中。 表和列在名称pipe理器中命名并显示为=tabKontenplan
和KontoNr =tabKontenplan[KontoNr]
。
现在我没有成功地试图填充这样的comboxbox:
combobox.listfillrange = "=tabKontenplan![KontoNr]"
和
combobox.listfillrange = "=KontoNr"
也不起作用。 没有错误,combobox只是空的…为什么呢?
我在工作表上添加了一个空的ActiveX ListBox
控件,然后在该工作表上的一个Range
键入了几个随机值,命名为该范围VALUES
,然后在工作表的代码隐藏中添加以下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ListBox1.ListFillRange = "VALUES" End Sub
这就是我需要做的。 删除命名范围前的=
,它“正常工作”。 确保定义的名字在范围内,一切都会好起来的。
如果命名范围的作用域是其他工作表,则不起作用。 删除名称并在工作簿范围内重新创build它。
假设“另一张纸”是Sheet2,
no good: combobox.listfillrange = "=" & Sheet2.Range("KontoNr").Address
更正的答案:
combobox.listfillrange = "=Sheet2!" & Sheet2.Range("KontoNr").Address