Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,836
Default Assing a Name to a Range

I am not having much luck with the following code:

Range("A65000").Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
ActiveCell.Offset(-1, 0).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Region"

The range is A4:E17, but will almost certainly change in the near future.
It fails on the last line. What am I doing wrong?

I need the named range for a chart, which I am building on the fly:
Dim myChtObj As ChartObject
Set myChtObj = ActiveSheet.ChartObjects.Add _
(Left:=30, Width:=800, Top:=250, Height:=500)

myChtObj.Chart.SetSourceData
Source:=Sheets("Region-Chart").Range("Region")
myChtObj.Chart.ChartType = xlColumnClustered
'etc., etc., etc., etc., etc., etc., etc.,

Thanks,
Ryan---

--
RyGuy
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default Assing a Name to a Range

You have to tell it where.

ActiveWorkbook.Names.Add Name:="Region", RefersTo:="=Sheet1!$A$4:$E$17"

"ryguy7272" wrote:

I am not having much luck with the following code:

Range("A65000").Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
ActiveCell.Offset(-1, 0).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Region"

The range is A4:E17, but will almost certainly change in the near future.
It fails on the last line. What am I doing wrong?

I need the named range for a chart, which I am building on the fly:
Dim myChtObj As ChartObject
Set myChtObj = ActiveSheet.ChartObjects.Add _
(Left:=30, Width:=800, Top:=250, Height:=500)

myChtObj.Chart.SetSourceData
Source:=Sheets("Region-Chart").Range("Region")
myChtObj.Chart.ChartType = xlColumnClustered
'etc., etc., etc., etc., etc., etc., etc.,

Thanks,
Ryan---

--
RyGuy

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default Assing a Name to a Range

I think you can also just assign the name to the selection's Name
property...

Selection.Name = "Region"

However, if I read the OP's code correctly, I think he can use this code in
place of the code he posted...

With Cells(Rows.Count, 1).End(xlUp).CurrentRegion
.Resize(.Rows.Count - 1).Name = "Region"
End With

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
You have to tell it where.

ActiveWorkbook.Names.Add Name:="Region", RefersTo:="=Sheet1!$A$4:$E$17"

"ryguy7272" wrote:

I am not having much luck with the following code:

Range("A65000").Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
ActiveCell.Offset(-1, 0).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Region"

The range is A4:E17, but will almost certainly change in the near future.
It fails on the last line. What am I doing wrong?

I need the named range for a chart, which I am building on the fly:
Dim myChtObj As ChartObject
Set myChtObj = ActiveSheet.ChartObjects.Add _
(Left:=30, Width:=800, Top:=250, Height:=500)

myChtObj.Chart.SetSourceData
Source:=Sheets("Region-Chart").Range("Region")
myChtObj.Chart.ChartType = xlColumnClustered
'etc., etc., etc., etc., etc., etc., etc.,

Thanks,
Ryan---

--
RyGuy


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,836
Default Assing a Name to a Range

Thanks Rick! That was exactly what I was looking for!! One more question...
How did you know to use With...End With? I've used it before, sometimes
copying/pasting other people's code, sometimes developing my own. How did
you identify the problem and know that the solution required With...End With?

Thanks again!!
Ryan---


--
RyGuy


"Rick Rothstein" wrote:

I think you can also just assign the name to the selection's Name
property...

Selection.Name = "Region"

However, if I read the OP's code correctly, I think he can use this code in
place of the code he posted...

With Cells(Rows.Count, 1).End(xlUp).CurrentRegion
.Resize(.Rows.Count - 1).Name = "Region"
End With

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
You have to tell it where.

ActiveWorkbook.Names.Add Name:="Region", RefersTo:="=Sheet1!$A$4:$E$17"

"ryguy7272" wrote:

I am not having much luck with the following code:

Range("A65000").Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
ActiveCell.Offset(-1, 0).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Region"

The range is A4:E17, but will almost certainly change in the near future.
It fails on the last line. What am I doing wrong?

I need the named range for a chart, which I am building on the fly:
Dim myChtObj As ChartObject
Set myChtObj = ActiveSheet.ChartObjects.Add _
(Left:=30, Width:=800, Top:=250, Height:=500)

myChtObj.Chart.SetSourceData
Source:=Sheets("Region-Chart").Range("Region")
myChtObj.Chart.ChartType = xlColumnClustered
'etc., etc., etc., etc., etc., etc., etc.,

Thanks,
Ryan---

--
RyGuy



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default Assing a Name to a Range

The With..End With is not really the solution... using the CurrentRegion and
assigning the name to the Name property is... the With..End With was a
convenience so I didn't have to repeat a long string of references. Note the
'dot' in front of the Resize and the Rows properties... that means both of
these properties refer back to the object of the With statement which
further means I did not have to type that object reference out (twice) once
for each of the properties. The With..End With block that I posted is
*exactly* equivalent to this single, one-line statement (which I'm sure you
newsreader will probably break up into what looks line two lines)...

Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Resize(Cells(Rows.Count ,
1).End(xlUp).CurrentRegion.Rows.Count - 1).Name = "Region"

Obviously, that looks ugly and is somewhat hard to follow... the With..End
With block allows the code to be presented in a more concise manner... that
is really all it does.

--
Rick (MVP - Excel)


"ryguy7272" wrote in message
...
Thanks Rick! That was exactly what I was looking for!! One more
question...
How did you know to use With...End With? I've used it before, sometimes
copying/pasting other people's code, sometimes developing my own. How did
you identify the problem and know that the solution required With...End
With?

Thanks again!!
Ryan---


--
RyGuy


"Rick Rothstein" wrote:

I think you can also just assign the name to the selection's Name
property...

Selection.Name = "Region"

However, if I read the OP's code correctly, I think he can use this code
in
place of the code he posted...

With Cells(Rows.Count, 1).End(xlUp).CurrentRegion
.Resize(.Rows.Count - 1).Name = "Region"
End With

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
You have to tell it where.

ActiveWorkbook.Names.Add Name:="Region", RefersTo:="=Sheet1!$A$4:$E$17"

"ryguy7272" wrote:

I am not having much luck with the following code:

Range("A65000").Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
ActiveCell.Offset(-1, 0).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Region"

The range is A4:E17, but will almost certainly change in the near
future.
It fails on the last line. What am I doing wrong?

I need the named range for a chart, which I am building on the fly:
Dim myChtObj As ChartObject
Set myChtObj = ActiveSheet.ChartObjects.Add _
(Left:=30, Width:=800, Top:=250, Height:=500)

myChtObj.Chart.SetSourceData
Source:=Sheets("Region-Chart").Range("Region")
myChtObj.Chart.ChartType = xlColumnClustered
'etc., etc., etc., etc., etc., etc., etc.,

Thanks,
Ryan---

--
RyGuy






  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,836
Default Assing a Name to a Range

Wow!! Again, I am amazed.
That's why you are an MVP.

Thanks for everything,
Ryan--

--
RyGuy


"Rick Rothstein" wrote:

The With..End With is not really the solution... using the CurrentRegion and
assigning the name to the Name property is... the With..End With was a
convenience so I didn't have to repeat a long string of references. Note the
'dot' in front of the Resize and the Rows properties... that means both of
these properties refer back to the object of the With statement which
further means I did not have to type that object reference out (twice) once
for each of the properties. The With..End With block that I posted is
*exactly* equivalent to this single, one-line statement (which I'm sure you
newsreader will probably break up into what looks line two lines)...

Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Resize(Cells(Rows.Count ,
1).End(xlUp).CurrentRegion.Rows.Count - 1).Name = "Region"

Obviously, that looks ugly and is somewhat hard to follow... the With..End
With block allows the code to be presented in a more concise manner... that
is really all it does.

--
Rick (MVP - Excel)


"ryguy7272" wrote in message
...
Thanks Rick! That was exactly what I was looking for!! One more
question...
How did you know to use With...End With? I've used it before, sometimes
copying/pasting other people's code, sometimes developing my own. How did
you identify the problem and know that the solution required With...End
With?

Thanks again!!
Ryan---


--
RyGuy


"Rick Rothstein" wrote:

I think you can also just assign the name to the selection's Name
property...

Selection.Name = "Region"

However, if I read the OP's code correctly, I think he can use this code
in
place of the code he posted...

With Cells(Rows.Count, 1).End(xlUp).CurrentRegion
.Resize(.Rows.Count - 1).Name = "Region"
End With

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
You have to tell it where.

ActiveWorkbook.Names.Add Name:="Region", RefersTo:="=Sheet1!$A$4:$E$17"

"ryguy7272" wrote:

I am not having much luck with the following code:

Range("A65000").Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
ActiveCell.Offset(-1, 0).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Names.Add Name:="Region"

The range is A4:E17, but will almost certainly change in the near
future.
It fails on the last line. What am I doing wrong?

I need the named range for a chart, which I am building on the fly:
Dim myChtObj As ChartObject
Set myChtObj = ActiveSheet.ChartObjects.Add _
(Left:=30, Width:=800, Top:=250, Height:=500)

myChtObj.Chart.SetSourceData
Source:=Sheets("Region-Chart").Range("Region")
myChtObj.Chart.ChartType = xlColumnClustered
'etc., etc., etc., etc., etc., etc., etc.,

Thanks,
Ryan---

--
RyGuy




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
How do I enter formula sum(range+range)*0.15 sumif(range=3) tkw Excel Discussion (Misc queries) 2 October 1st 09 09:17 PM
How to assing micro to a command button Qazi Ahmad Excel Discussion (Misc queries) 1 April 9th 07 06:38 AM
Excel Addin:Setting the range to the Excel.Range object range prop Rp007 Excel Worksheet Functions 5 November 24th 06 04:30 PM
How assing unique number in a column based on a combination of two cells galin Excel Programming 1 February 1st 06 05:25 PM
Assing a macro to a contro. Richard Excel Discussion (Misc queries) 1 January 22nd 06 10:22 PM


All times are GMT +1. The time now is 10:13 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"