你怎么得到一个范围来返回它的名字?

Gen*_*Jam 15 excel vba named-ranges

Dim sampleRange as Range
Set sampleRange = Worksheet.Range(Cells(1,1),Cells(1,4)
sampleRange.Name = "Range1"
MsgBox sampleRange.Name
Run Code Online (Sandbox Code Playgroud)

上面的代码将显示范围的实际地址,而不是名称.为什么?
如何获取命名范围以返回其名称?

Lan*_*rts 45

对于Range,Name不是一个字符串,它是一个Name对象,然后你可以使用Name属性来获取字符串:

MsgBox sampleRange.Name.Name
Run Code Online (Sandbox Code Playgroud)

  • 并且**如果“someRang.Name”不存在**(上面会抛出错误),可以使用**错误处理功能**来测试它,例如基于这些不错的函数“GetNamedRange”和“IsNamedRange” :https://www.ozgrid.com/forum/forum/help-forums/excel-general/42560-define-in-vba-whether-a-range-has-a-name (2认同)