Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How do I enter formula sum(range+range)*0.15 sumif(range=3) | Excel Discussion (Misc queries) | |||
How to assing micro to a command button | Excel Discussion (Misc queries) | |||
Excel Addin:Setting the range to the Excel.Range object range prop | Excel Worksheet Functions | |||
How assing unique number in a column based on a combination of two cells | Excel Programming | |||
Assing a macro to a contro. | Excel Discussion (Misc queries) |