LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Apostrophe's apearing in range address

Here's what's
confusing me: if I insert a row above the range, the range address changes
to accommodate that, just as I want it to. But I would have thought that

with
the $ it wouldn't. What am I missing?


Although the $'s makes the address 'absolute the reference updates if you
insert/delete rows/columns. It works just the same in a normal cell formula.
Try say =$D$4 in some cell. Now insert/delete a row/column above or to the
left of D4. The cell formula updates with a new address reference, right?

Normally that's helpful but need to be aware if you delete rows or columns
that fully include the referenced range you will the get a #REF! error.
Again same applies with a ref' in a cell formula ref or using named range
that's been fully deleted.

Anyway glad you got your Names working.

Regards,
Peter T

PS forgot yesterday - I'm sure you know but the apostrophe's surrounding the
sheet name are not only normal but required if the sheet-name includes
certain characters, such as punctuation and spaces.


"ppsa" wrote in message
...
OK, I got it to work, but I'm confused about what I'm seeing. To make it
work, I did two things you suggested: I changed the RefersToR1C1 to

RefersTo
and got rid of the replace that removes the dollar signs. Here's what's
confusing me: if I insert a row above the range, the range addresse

changes
to accommodate that, just as I want it to. But I would have thought that

with
the $ it wouldn't. What am I missing?

thanks, again.


"Peter T" wrote:

By the way, the curious thing to me about
what you're saying is that I got the RefersToR1C1 by recording a macro

of
me
naming a range. Which worked fine.


You may have recorded a macro but then you changed it significantly

Referring to your OP, using the recorded macro as a basis and

RefersToR1C1,
all would have worked if you had done

RangeAddress = Range("A20:A450").Address(, , xlR1C1)

It would also have worked had you not removed the $'s in an xlA1 style
address, which the macro did not do.

Regards
Peter T

"ppsa" wrote in message
...
OK, thanks, I'll give it a try. By the way, the curious thing to me

about
what you're saying is that I got the RefersToR1C1 by recording a macro

of
me
naming a range. Which worked fine.

"Peter T" wrote:

From what you say I suspect you don't want a 'relative' name, which

is
what
you were attempting to create. Try this -

Sub Test()
[a4].Select
ActiveWorkbook.Names.Add "RelName", "=A2"
ActiveWorkbook.Names.Add "AbsName", "=$A$2"

Debug.Print ActiveWorkbook.Names("RelName").RefersTo ' A5
Debug.Print ActiveWorkbook.Names("AbsName").RefersTo ' $A$2

[b6].Select
Debug.Print ActiveWorkbook.Names("RelName").RefersTo ' B7
Debug.Print ActiveWorkbook.Names("AbsName").RefersTo ' $A$2

Rows(1).Delete
Debug.Print ActiveWorkbook.Names("RelName").RefersTo ' B7
Debug.Print ActiveWorkbook.Names("AbsName").RefersTo ' $A$1
End Sub

Regards,
Peter T


"ppsa" wrote in message
...
I'm not sure I understand what you're asking. After I name the

address, if
the user inserts a row above the range, yes, I need the named

range to
move
down. Is that what you mean?

"Peter T" wrote:

Do you have a particular need to name a relative address, in

usage
it
will
be relative to the active cell (eg select A1, name A2, select B3

and
the
name will refer to B4). If that's what you want, use RefersTo

instead of
RefersToR1C1.

Regards,
Peter T


"ppsa" wrote in message
...
In the following code, RangeNamePrefix = "Jul071" and

NewSheet.Name =
"July,
2007 - 1"

================================================== =
Dim NewRangeName As String
Dim RefersTo As String
RangeAddress = Replace(Range("DateValues").Address, "$", "")
RefersTo = "='" & NewSheet.Name & "'!" & RangeAddress
NewRangeName = RangeNamePrefix & "DateValues"

ActiveWorkbook.Names.Add Name:=NewRangeName,

RefersToR1C1:=RefersTo
================================================== =

The variables resolve to the following:
RangeAddress: "A20:A450"
RefersTo: "='July, 2007 - 1'!A20:A450"
NewRangeName: "Jul071DateValues"

You would think that after this code runs, the range A20:A450

would be
named
properly, but it's not. When I go to Insert/Name/Define, the

range
name is
listed corrctly, but the address is wrong. It has apostrophes

around
the
individual cell addresses, like this:

='July, 2007 - 1'!'A20':'A450'

I'm stumped. Anyone know what's going on here?

Thanks.











 
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
Apostrophe's becoming upside down question marks on the web EllenM Excel Discussion (Misc queries) 3 November 10th 09 12:43 PM
How to create a range address with ADDRESS function? Steve McLeod Excel Worksheet Functions 1 December 18th 08 02:02 PM
getting the absolute range address from a dynamic named range junoon Excel Programming 2 March 21st 06 01:29 PM
How to convert numbers with apostrophe's (ex. 219'2) to decimals? Kaci Excel Worksheet Functions 2 June 15th 05 03:48 PM
To data apearing in other sheets I can use =SUM(. How I can have . KP Excel Worksheet Functions 1 January 18th 05 11:28 PM


All times are GMT +1. The time now is 12:07 PM.

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

About Us

"It's about Microsoft Excel"