Dim sampleRange as Range
Set sampleRange = Worksheet.Range(Cells(1,1),Cells(1,4)
sampleRange.Name = "Range1"
MsgBox sampleRange.Name
上面的代码将显示范围的实际地址,而不是名称。为什么?
如何获得命名范围以返回其名称?
Dim sampleRange as Range
Set sampleRange = Worksheet.Range(Cells(1,1),Cells(1,4)
sampleRange.Name = "Range1"
MsgBox sampleRange.Name
上面的代码将显示范围的实际地址,而不是名称。为什么?
如何获得命名范围以返回其名称?
对于 Range,Name 不是字符串,它是 Name 对象,然后您可以使用 Name 属性来获取字符串:
MsgBox sampleRange.Name.Name
sampleRange.Name = "Range1" 命名范围是不好的做法
它之所以有效,是因为 Name(包含“The Name”的字符串)是 Name 的默认属性。
更好的 sampleRange.Name.Name = "Range1"
使用默认属性而不明确引用它从来都不是一个好习惯。
良好的编程通过明确引用所需的属性来精确控制环境。
Removes ambiguity as created the issue here. Eliminates the issue created if the default property is changed in a future update.