Dim sampleRange as Range
Set sampleRange = Worksheet.Range(Cells(1,1),Cells(1,4)
sampleRange.Name = "Range1"
MsgBox sampleRange.Name
上面的代码将显示范围的实际地址,而不是名称。为什么呢?
如何让命名范围返回其名称?
答案 0 :(得分:41)
对于Range,Name不是一个字符串,它是一个Name对象,然后你可以使用Name属性来获取字符串:
MsgBox sampleRange.Name.Name
答案 1 :(得分:-1)
sampleRange.Name =" Range1"命名范围是不好的做法
它才有效,因为Name(包含" The Name"的字符串)是Name的默认属性。
更好的sampleRange.Name.Name =" Range1"
在没有明确引用默认属性的情况下使用默认属性绝不是一种好习惯。
良好的编程通过明确引用所需的属性来精确控制环境。
删除歧义,因为这里创建了问题。 如果在将来的更新中更改了默认属性,则消除了创建的问题。