Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi all,
I can use Range("A1:a3").Name = "data" to define a name object. but Range("A1:a3").Name will display the address of the name object Could you explain why? Clara -- thank you so much for your help |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Clara,
The default property of a Name is RefersTo, hence if the name refers to a range returning the default property will return its address Maybe you want this - On error resume next s = "" s = Range("A1:a3").Name.Name on error goto 0 If len(s) then msgbox s & vbcr & Range("A1:a3").Name else msgbox "the range is not defined" End if Regards, Peter T "clara" wrote in message ... Hi all, I can use Range("A1:a3").Name = "data" to define a name object. but Range("A1:a3").Name will display the address of the name object Could you explain why? Clara -- thank you so much for your help |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Peter,
Thank you very mcuh! What I really mean is that there is an inconsistency here since we use Range("A1:a3").Name = "data"( Set method) to assign a name, we can not retrieve(Get) by referring to Range("A1:a3").Name Clara -- thank you so much for your help "Peter T" wrote: Hi Clara, The default property of a Name is RefersTo, hence if the name refers to a range returning the default property will return its address Maybe you want this - On error resume next s = "" s = Range("A1:a3").Name.Name on error goto 0 If len(s) then msgbox s & vbcr & Range("A1:a3").Name else msgbox "the range is not defined" End if Regards, Peter T "clara" wrote in message ... Hi all, I can use Range("A1:a3").Name = "data" to define a name object. but Range("A1:a3").Name will display the address of the name object Could you explain why? Clara -- thank you so much for your help |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi again,
I see what you mean but it's not really an inconsistency say you did - Set rng = [a1] then v = rng v returns the default property of the range which is its value, not the cell reference or its name if it has one. If you are trying to return your range's name then you need to return the Name property of the Name object. As before - On error resume next ' in case the range doesn't have a Name s = "" s = Range("A1:a3").Name.Name similarly set nm = activeworkbook.names("test") s = nm.Name ' 'test Regards, Peter T "clara" wrote in message ... Hi Peter, Thank you very mcuh! What I really mean is that there is an inconsistency here since we use Range("A1:a3").Name = "data"( Set method) to assign a name, we can not retrieve(Get) by referring to Range("A1:a3").Name Clara -- thank you so much for your help "Peter T" wrote: Hi Clara, The default property of a Name is RefersTo, hence if the name refers to a range returning the default property will return its address Maybe you want this - On error resume next s = "" s = Range("A1:a3").Name.Name on error goto 0 If len(s) then msgbox s & vbcr & Range("A1:a3").Name else msgbox "the range is not defined" End if Regards, Peter T "clara" wrote in message ... Hi all, I can use Range("A1:a3").Name = "data" to define a name object. but Range("A1:a3").Name will display the address of the name object Could you explain why? Clara -- thank you so much for your help |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Peter, Clara,
From Help: Name property as it applies to the Font and Range objects. Returns or sets the name of the object. The name of a Range object is a Name object. For every other type of object, the name is a string. Read/write Variant. <This does not really help, as what does "the name of the object" mean in this case ? So, if a Name has been set for the range: ?typename(Range("A1").name) Name Which makes sense. But then Range("A1").name="Name1" ?Range("A1").Name.name Name1 ?names("name1").RefersTo =Sheet3!$A$1 should not work, as the default property for a Name is RefersTo, but this is clearly setting the Name.Name correctly. It does seems some short-cut in the implementation, which, whilst useful, can be confusing. NickHK "Peter T" <peter_t@discussions wrote in message ... Hi again, I see what you mean but it's not really an inconsistency say you did - Set rng = [a1] then v = rng v returns the default property of the range which is its value, not the cell reference or its name if it has one. If you are trying to return your range's name then you need to return the Name property of the Name object. As before - On error resume next ' in case the range doesn't have a Name s = "" s = Range("A1:a3").Name.Name similarly set nm = activeworkbook.names("test") s = nm.Name ' 'test Regards, Peter T "clara" wrote in message ... Hi Peter, Thank you very mcuh! What I really mean is that there is an inconsistency here since we use Range("A1:a3").Name = "data"( Set method) to assign a name, we can not retrieve(Get) by referring to Range("A1:a3").Name Clara -- thank you so much for your help "Peter T" wrote: Hi Clara, The default property of a Name is RefersTo, hence if the name refers to a range returning the default property will return its address Maybe you want this - On error resume next s = "" s = Range("A1:a3").Name.Name on error goto 0 If len(s) then msgbox s & vbcr & Range("A1:a3").Name else msgbox "the range is not defined" End if Regards, Peter T "clara" wrote in message ... Hi all, I can use Range("A1:a3").Name = "data" to define a name object. but Range("A1:a3").Name will display the address of the name object Could you explain why? Clara -- thank you so much for your help |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Object property/method problem | Excel Discussion (Misc queries) | |||
Lookin property of the FileSearch object | New Users to Excel | |||
Using The Value property of the ActiveCell object | Excel Programming | |||
How to check if an object has a certain property? | Excel Programming | |||
Page Object property | Excel Programming |