我在一个名为的工作表上创建了一个已定义的名称/范围bob
,指向一个单元格.此工作表上还设置了许多其他名称/范围,我没有创建.除了我的以外,所有数量/范围都能很好地工作.
我应该可以使用以下任一语句来引用此单元格的内容:
(worksheet object).Names("bob").RefersToRange.Value
(worksheet object).Range("bob").Value
Run Code Online (Sandbox Code Playgroud)
但是,只有第二个声明,Range
由于某种原因指的是作品.第一个在Names
列表中找不到名称.
我的问题是:
Name
和a 之间有什么区别Range
?Name
和Range
列表中?是的,你是对的.名称可以是本地(属于工作表)和全局(属于工作簿).
(worksheet object).Names("bob")
只会找到一个本地名称.你的名字显然是全球性的,所以你可以像访问它一样(worksheet object).Workbook.Names("bob").RefersToRange
.
"其他名字"可能是本地的.它们仅在父表单处于活动状态时出现在范围列表中(检查出来).要创建本地名称,请在其前面加上工作表名称,以"!"分隔: 'My Sheet Name'!bob
.