你如何得到一个范围返回它的名字?

Dim sampleRange as Range Set sampleRange = Worksheet.Range(Cells(1,1),Cells(1,4) sampleRange.Name = "Range1" MsgBox sampleRange.Name 

上面的代码将显示范围的实际地址,而不是名称。 为什么?
我如何得到一个命名的范围来返回它的名字?

对于一个Range,Name不是一个string,而是一个Name对象,然后用Name属性来获取string:

 MsgBox sampleRange.Name.Name 

sampleRange.Name =“Range1”来命名范围是不好的做法

它只能起作用,因为Name(包含“The Name”的string)是Name的默认属性。

好多了sampleRange.Name.Name =“Range1”

使用默认属性而不明确引用它是不好的做法。

良好的编程通过明确引用所需的属性来严格控制环境。

消除在这里造成的问题的歧义。 消除如果在将来的更新中更改默认属性所创build的问题。