使用间接引用时,dynamic命名的范围不起作用

我有一些dynamic命名的范围在我的工作表。我使他们dynamic使用以下公式:

= $ A $ 1:rowend($ A $ 1)

哪里行结尾是一个自定义函数返回最后一个单元格,在行“A”到达空单元格之前

命名范围命名如下:“iec_air”还有另一个命名范围:“iec_ground”

现在的问题是,当我在单元格上应用datavalidation并直接select引用“iec_air”的列表,但它尝试使用间接(“iec _”和“空气”)实现相同的事情,它不工作

当我命名的范围是静态的,它正在工作,而不是它的不。任何想法如何解决它?

你知道如何使用VBA吗? 你可以做的事情之一是在表单模块中创build一个事件,并根据空白单元格dynamic调整命名范围的大小。

 Sub setRangeDynamically() dim oRange as range 'Set range from cell(1,1) until the first blank cell downwards set oRange = thisworkbook.sheets("blabla").range(cells(1,1),cells(1,1).end(xldown)) thisworkbook.Names.Add Name:="MyRange", RefersTo:=oRange end sub 

要创build数据validation:

 With thisworkbook.sheets("BlaBla").range("B2").Validation .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=MyRange" End With