Right click on each chart, select Assign Macro, then select the name of this
macro.
Then put this in the macro:
Set ChtOb = .ChartObjects(Application.Caller)
When you run this macro, you might first determine app.caller's size, then
have the macro loop each chart in the sheet, and if it is larger than X
apply the smaller dimensions, then find the app.caller and if its original
size was small, increase its size.
- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______
"Eric_B" <(E-Mail Removed)> wrote in
message news:(E-Mail Removed)...
>
> I have a sheet that contains about 32 charts, since there are so many
> charts I reduced the scale of the sheet so I can see all charts.
> Problem is the charts are so small I can't interpret them. I want to
> create a macro that re-sizes them when I click on them without having
> to write a separate macro for each chart. Is there a way to return the
> name of a chart to a variable? Here is what i have so far:
>
> Dim ChtOb As ChartObject
>
>
> With ActiveSheet
>
> Set ChtOb = .ChartObjects("chart 1")
>
>
> If ChtOb.Height < 1500 Then
> With ChtOb
> Height = 1500
> Width = 2800
> Top = 34
> Left = 43
> End With
> Else
> With ChtOb
> Height = 420
> Width = 715
> Top = 5
> Left = 5
> End With
> End If
>
>
> --
> Eric_B
> ------------------------------------------------------------------------
> Eric_B's Profile:
> http://www.excelforum.com/member.php...o&userid=24486
> View this thread: http://www.excelforum.com/showthread...hreadid=540641
>