Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,646
Default defined name with formula as source in VBA

Hi All,

I have a defined name with a formula as its source, and it works in
worksheet functions. How can I retrieve its value in VBA?
For names with a normal range as source this line works:
ThisWorkbook.Names("mydefname").RefersToRange.Item (1, 1).Value
but I can't figure out a similar way for formula sources.

Thanks,
Stefi

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,510
Default defined name with formula as source in VBA

Hi Stefi,

A little more than you requested but thought it might help you to understand
that a named cell/range is something you can use in lieu of a cell/range
address.

'The following is the recorded macro for inserting a name:-
Range("A1").Select
ActiveWorkbook.Names.Add Name:="MyName", _
RefersToR1C1:="=Sheet1!R1C1"

'Below is the above code which has been edited to name
'the active cell rather than a specified cell/range:-
ActiveWorkbook.Names.Add Name:="MyName", RefersToR1C1:=ActiveCell

'If you record selecting a range you get the following:-
Range("A1:D1").Select

'You can edit the above line to use the name
'in lieu of the cell address as follows:-
Range("MyName:D1").Select

'The following retrieves the value in the named cell:-
MyValue = Range("MyName")
MsgBox MyValue

'The following names a range of cells and retrieves
'the actual address of the range.
Range("A3:D3").Select
ActiveWorkbook.Names.Add Name:="MyNamedRnge", _
RefersToR1C1:="=Sheet1!R3C1:R3C4"

MyRange = Range("MyNamedRnge").Address
MsgBox MyRange

Regards,

OssieMac


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,593
Default defined name with formula as source in VBA

Activesheet.Evaluate("mydefname")

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"Stefi" wrote in message
...
Hi All,

I have a defined name with a formula as its source, and it works in
worksheet functions. How can I retrieve its value in VBA?
For names with a normal range as source this line works:
ThisWorkbook.Names("mydefname").RefersToRange.Item (1, 1).Value
but I can't figure out a similar way for formula sources.

Thanks,
Stefi



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,646
Default defined name with formula as source in VBA

Hi OssieMac,

Thanks for your reply, but it didn't answer my question. If I name a cell,
then I can retrieve its value with
range("MyName")

But if I insert a name "MyName" with the Insert/Names menu and enter a
formula instead of a cell reference in the source field, I can refer "MyName"
in the worksheet (in formulae, etc.) and get its current value, but I can't
retrieve its current value in VBA (because "MyName" doesn't have any cell
reference).

Is there any way in VBA to get this value other than place it (redundantly)
in a cell?

Regards,
Stefi

€˛OssieMac€¯ ezt Ć*rta:

Hi Stefi,

A little more than you requested but thought it might help you to understand
that a named cell/range is something you can use in lieu of a cell/range
address.

'The following is the recorded macro for inserting a name:-
Range("A1").Select
ActiveWorkbook.Names.Add Name:="MyName", _
RefersToR1C1:="=Sheet1!R1C1"

'Below is the above code which has been edited to name
'the active cell rather than a specified cell/range:-
ActiveWorkbook.Names.Add Name:="MyName", RefersToR1C1:=ActiveCell

'If you record selecting a range you get the following:-
Range("A1:D1").Select

'You can edit the above line to use the name
'in lieu of the cell address as follows:-
Range("MyName:D1").Select

'The following retrieves the value in the named cell:-
MyValue = Range("MyName")
MsgBox MyValue

'The following names a range of cells and retrieves
'the actual address of the range.
Range("A3:D3").Select
ActiveWorkbook.Names.Add Name:="MyNamedRnge", _
RefersToR1C1:="=Sheet1!R3C1:R3C4"

MyRange = Range("MyNamedRnge").Address
MsgBox MyRange

Regards,

OssieMac


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,646
Default defined name with formula as source in VBA

That is it, thanks, Bob!
Stefi


€˛Bob Phillips€¯ ezt Ć*rta:

Activesheet.Evaluate("mydefname")

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"Stefi" wrote in message
...
Hi All,

I have a defined name with a formula as its source, and it works in
worksheet functions. How can I retrieve its value in VBA?
For names with a normal range as source this line works:
ThisWorkbook.Names("mydefname").RefersToRange.Item (1, 1).Value
but I can't figure out a similar way for formula sources.

Thanks,
Stefi




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Run-time error '50290': Application-defined or object-defined erro Macro button Excel Discussion (Misc queries) 1 March 12th 09 10:59 AM
ComboxBox with Dynamically Defined Source, and LinkedCell error GlennUK Excel Discussion (Misc queries) 1 June 4th 08 03:11 PM
Copying A Range of Cells From one Sheet to Another - Error Application Defined or Object Defined Matt[_39_] Excel Programming 3 July 25th 06 01:13 AM
How change link source in long formula when source moved Irina Excel Programming 4 June 28th 06 07:27 AM
Runtime error 1004- application defined or object defined erro Jim Thomlinson[_5_] Excel Programming 0 February 6th 06 09:29 PM


All times are GMT +1. The time now is 03:54 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"