我正在尝试根据另一个单元格的内容为一个单元格设置列表验证,使用一个命名范围,该范围将我的数据输入表上的单元格内容与工作表上的范围相匹配Validation
(请参阅此 SO question)。命名范围的公式为:
=OFFSET(validation!$B$1,MATCH(INDIRECT(ADDRESS(CELL("row"),CELL("col")-2)),validation!$A:$A,0)-1,0,COUNTIF(validation!$A:$A,INDIRECT(ADDRESS(CELL("row"),CELL("col")-2))),1)
问题是,如果引用的单元格ADDRESS(CELL("row"),CELL("col")-2)
为空,则使用 VBA 设置验证Range.Validation.Add
会出现错误:
Application-defined or object-defined error
然后它不会将验证添加到单元格中。我可以在Validation.Add
通话中进行任何类型的错误处理以确保设置验证吗?或者一种修改命名范围公式的方法,以便即使内容ADDRESS(CELL("row"),CELL("col")-2)
不返回工作validation
表上的匹配项,它也会输出一个值?