ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Get Name of Selected Range (https://www.excelbanter.com/excel-programming/346256-get-name-selected-range.html)

Charlie

Get Name of Selected Range
 
Good Morning,

Is there a method or property that returns the Name (if any) of a selected
or specific range? Something like:

NameOfRange = ThisWorkbook.Names.Item(Selection).Name
NameOfRange = ThisWorkbook.Names.Item(ActiveCell).Name
NameOfRange = ThisWorkbook.Names.Item(Cells(1, 1)).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1")).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1:B2")).Name

TIA
Charlie


Bernie Deitrick

Get Name of Selected Range
 
Charlie,

No. You need to iterate through the names collection:

Dim myname As Name
For Each myname In ActiveWorkbook.Names
If Selection.Address = Range(myname).Address Then
MsgBox "The selection is named " & myname.Name
End If
Next

HTH,
Bernie
MS Excel MVP


"Charlie" wrote in message
...
Good Morning,

Is there a method or property that returns the Name (if any) of a selected
or specific range? Something like:

NameOfRange = ThisWorkbook.Names.Item(Selection).Name
NameOfRange = ThisWorkbook.Names.Item(ActiveCell).Name
NameOfRange = ThisWorkbook.Names.Item(Cells(1, 1)).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1")).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1:B2")).Name

TIA
Charlie




Charlie

Get Name of Selected Range
 
Thanks, that was what I figured.

"Bernie Deitrick" wrote:

Charlie,

No. You need to iterate through the names collection:

Dim myname As Name
For Each myname In ActiveWorkbook.Names
If Selection.Address = Range(myname).Address Then
MsgBox "The selection is named " & myname.Name
End If
Next

HTH,
Bernie
MS Excel MVP


"Charlie" wrote in message
...
Good Morning,

Is there a method or property that returns the Name (if any) of a selected
or specific range? Something like:

NameOfRange = ThisWorkbook.Names.Item(Selection).Name
NameOfRange = ThisWorkbook.Names.Item(ActiveCell).Name
NameOfRange = ThisWorkbook.Names.Item(Cells(1, 1)).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1")).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1:B2")).Name

TIA
Charlie





Don Guillett[_4_]

Get Name of Selected Range
 
try

Sub GetName()
'Leo Heuser April 8, 2005
Dim Nam As Name


For Each Nam In ActiveWorkbook.Names
If Not Intersect(ActiveCell, Range(Nam.RefersTo)) Is Nothing Then
MsgBox Nam.Name
End If
Next Nam


End Sub



--
Don Guillett
SalesAid Software

"Charlie" wrote in message
...
Good Morning,

Is there a method or property that returns the Name (if any) of a selected
or specific range? Something like:

NameOfRange = ThisWorkbook.Names.Item(Selection).Name
NameOfRange = ThisWorkbook.Names.Item(ActiveCell).Name
NameOfRange = ThisWorkbook.Names.Item(Cells(1, 1)).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1")).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1:B2")).Name

TIA
Charlie




Bernie Deitrick

Get Name of Selected Range
 
Charlie,

I got sloppy, and forgot about needing to check the named range's parent sheet.

You should use something like this one:

Sub TryNow()
Dim myname As Name
For Each myname In ActiveWorkbook.Names
If Selection.Address(, , , True) = Range(myname).Address(, , , True) Then
MsgBox "The selection is named " & myname.Name
Exit Sub
End If
Next
MsgBox "The selection is not a named range"
End Sub

HTH,
Bernie
MS Excel MVP


"Charlie" wrote in message
...
Thanks, that was what I figured.

"Bernie Deitrick" wrote:

Charlie,

No. You need to iterate through the names collection:

Dim myname As Name
For Each myname In ActiveWorkbook.Names
If Selection.Address = Range(myname).Address Then
MsgBox "The selection is named " & myname.Name
End If
Next

HTH,
Bernie
MS Excel MVP


"Charlie" wrote in message
...
Good Morning,

Is there a method or property that returns the Name (if any) of a selected
or specific range? Something like:

NameOfRange = ThisWorkbook.Names.Item(Selection).Name
NameOfRange = ThisWorkbook.Names.Item(ActiveCell).Name
NameOfRange = ThisWorkbook.Names.Item(Cells(1, 1)).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1")).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1:B2")).Name

TIA
Charlie







Alan Beban[_2_]

Get Name of Selected Range
 
Charlie wrote:
Good Morning,

Is there a method or property that returns the Name (if any) of a selected
or specific range? Something like:

NameOfRange = ThisWorkbook.Names.Item(Selection).Name
NameOfRange = ThisWorkbook.Names.Item(ActiveCell).Name
NameOfRange = ThisWorkbook.Names.Item(Cells(1, 1)).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1")).Name
NameOfRange = ThisWorkbook.Names.Item(Range("A1:B2")).Name

TIA
Charlie

E.g.:

Sub testIt3a()
On Error Resume Next
MsgBox Selection.Name.Name
If Err < 0 Then MsgBox "The specified range is not a named range"
End Sub

Alan Beban


All times are GMT +1. The time now is 02:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com