Chart resize macro

E

Eric_B

I have a sheet that contains about 32 charts, since there are so man
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 t
create a macro that re-sizes them when I click on them without havin
to write a separate macro for each chart. Is there a way to return th
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 I
 
J

Jon Peltier

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/
_______
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top