[英]Dynamic named range not working when referred with indirect
我的工作表中有一些名为Dynamics的Ranges.I使用以下公式使它们成为动态的:
= $ A $ 1:行额($ A $ 1)
其中行尾是一个自定义函数,它将在行“ A”中到达空单元之前返回最后一个单元
命名范围如下:“ iec_air”还有另一个命名范围:“ iec_ground”
现在的问题是,当我在一个单元格上应用datavalidation并选择直接引用“ iec_air”的列表时,它可以工作,但是当尝试使用indirect(“ iec _”&“ air”)来实现同一件事时,它却无法工作
当我的命名范围是静态的时,它正在工作,而不是不工作。任何想法如何解决它?
您知道如何使用VBA吗? 您可以做的一件事是在工作表模块中创建一个事件,并根据空白单元格动态调整命名范围的大小。
例
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
要创建数据验证:
With thisworkbook.sheets("BlaBla").range("B2").Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=MyRange"
End With
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.