View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Joel Mills Joel Mills is offline
external usenet poster
 
Posts: 79
Default Need help resizing embedded chart with VBA

Dave,

Thanks for the reply. I'm not sure how to edit the original code to replace
it with the varible. Also will I have to make the chart active by selecting
it before running the macro? I would prefer to list the chart by name and
have the macro resize it based on the changing data.

"Dave Peterson" wrote in message
...
I think Greg had a couple of typos:

LastCol = Range("A25").End(xlToRight).Column
Set rngtocover = ActiveSheet.Range(Cells(1, 2), Cells(24, LastCol))



Greg Koppel wrote:

You will want to use the following

LastCol = Range("A25").End(xlRight).Column
Set RngToCover = ActiveSheet.Range(Cells(1, 2), Cells( LastCol, 24))

HTH, Greg

"Joel Mills" wrote in message
...
I am using Excel 2000 and found the following code at Jon Peltier's
website. I have an embedded chart named "Curve Chart". I would like

for
this Chart (Object) to resize based on a variable range. This sheet

contains
more than one chart and I would like for the code to select this chart

and
not have it based on an active chart.

Row 25 has data that can span various columns. What I need is a way

to
determine the last cell containing data on row 25 and then use that

column
and row 24 to determine the range to use. "B1" will always be the

starting
point of the range, and Row 24 will always be the ending point of the

range,
but the column can change. I am able to get the results I want by

selecting
the chart and editing the following code, but I'm sure there must be a

way
to make the chart resize depending on the data in row 25.

Any help would be appreciated.


Sub CoverRangeWithAChart()
Dim RngToCover As Range
Dim ChtOb As ChartObject
Set RngToCover = ActiveSheet.Range("B1:AU24")
Set ChtOb = ActiveChart.Parent
ChtOb.Height = RngToCover.Height ' resize
ChtOb.Width = RngToCover.Width ' resize
ChtOb.Top = RngToCover.Top ' reposition
ChtOb.Left = RngToCover.Left ' reposition
End Sub



--

Dave Peterson