Excel VBA动态命名范围为列表框行源错误

Excel VBA动态命名范围为列表框行源错误,excel,vba,dynamic,listbox,named-ranges,Excel,Vba,Dynamic,Listbox,Named Ranges,我有一个动态命名范围,它返回一些未分配值的列表数组,但一旦分配了所有值,列表将返回N/a 公式数组: =可分度[装备],匹配0,可分度[标志],0,1:可分度[装备], 匹配0,装备[Flag],0+计数装备[Flag],0-1,1 问题是,我正在使用这个名为Listbox.RowSource的范围,我找不到一种方法来检查命名范围的值,甚至无法检查它是否返回错误 我用过: Application.WorksheetFunction.IsErrorActiveWorkbook.NamesUnass

我有一个动态命名范围,它返回一些未分配值的列表数组,但一旦分配了所有值,列表将返回N/a

公式数组:

=可分度[装备],匹配0,可分度[标志],0,1:可分度[装备], 匹配0,装备[Flag],0+计数装备[Flag],0-1,1

问题是,我正在使用这个名为Listbox.RowSource的范围,我找不到一种方法来检查命名范围的值,甚至无法检查它是否返回错误

我用过:

Application.WorksheetFunction.IsErrorActiveWorkbook.NamesUnassignedEquipment

但它总是返回错误

我还使用了:

ISemptyActivieWorkBook.NamesUnassignedEquipment


IsErrorActiveWorkbook.NamesUnassignedEquipment

一种方法是在用于命名范围的公式中使用IFERROR,这样,如果命名范围不返回任何内容,它将引用特定的范围/单元格

=IFERROR(INDEX(EquipTable[Equip], MATCH(0,EquipTable[Flag],0), 1):INDEX(EquipTable[Equip], MATCH(0,EquipTable[Flag],0)+COUNTIF(EquipTable[Flag],0)-1, 1),A1)

这里A1是命名范围将引用的单元格,如果公式未返回任何有效范围。根据您的要求更改公式中的A1。

我有一个表格,其中有2个列表框,未分配的设备将添加到其中一个列表框中,重要的是要让用户知道还有未分配的设备,对于分配给表格的信息和未分配给表格的信息。