【发布时间】:2016-01-07 14:26:24
【问题描述】:
一个价值我继承了一个大型 VBA 项目,虽然我有很多开发经验,但我有少量的 VBA。代码从表单中读取数据:
Intersect(Range("colName"), .Rows(intCurrentRow)).Value
colName 是一个命名范围,至少我是这么认为的。我已经搜索了所有的项目代码和 Excel 表,但找不到 colName 的定义位置?
到目前为止,我已经搜索了代码,在工作表上的名称管理器中查看并疯狂地用谷歌搜索,但完全空白。因为我现在需要从工作表中读取另一个值,所以我真的更喜欢使用当前与另一个值一起使用的代码而不是 colName 来引用我的新数据字段。
我有什么明显的遗漏吗?
编辑:
activesheet.range("colName").address 给出的值为 "$L:$l"
【问题讨论】:
-
colName in "" 意味着它是一个工作表级别的范围名称,它可以是一个动态范围,例如 offset(a1,0,0,counta(a:a),1)扩展范围,可能不会出现在 CTRL G 名称列表中,请检查“定义名称”框是否存在。
-
Define Names 中没有列出...
-
相交上方是否有
On Error ...语句?也许它从来没有正常工作过?当你在该行设置断点时会发生什么?Range("colName")到达那里时的值/地址是多少?踏入并越过那条线,是否有任何处理?您没有提供足够的代码/数据/行为示例来确定任何内容。 -
可能是隐藏的名称:尝试取消隐藏以查看
-
@DougGlancy - 好的,我们得到了一些东西 - 在即时窗口中键入会导致命名范围出现,所以我想我可以添加另一个启用 HideRange 功能的范围,然后定义它与其他人一起隐藏。
标签: vba excel named-ranges