题
Dim sampleRange as Range
Set sampleRange = Worksheet.Range(Cells(1,1),Cells(1,4)
sampleRange.Name = "Range1"
MsgBox sampleRange.Name
上面的代码将显示范围的实际地址,而不是名称。为什么呢?结果 我如何获得一个命名范围返回它的名字?
解决方案
对于一个范围,名称不是一个字符串它是一个名称的对象,你再取Name属性来获取字符串:
MsgBox sampleRange.Name.Name
其他提示
sampleRange.Name = “范围1” 来命名所述范围是实践差
它仅适用因为名称(含有“的名称”的字符串)是名称的默认属性。
好多sampleRange.Name.Name = “范围1”
这是使用默认的属性不中明文提到它从来没有很好的做法。
良好的编程准确控制由明确提到要求的属性的环境。
避免混淆为创建这里的问题。 省去如果默认属性在以后的更新变化产生的问题。
不隶属于 StackOverflow