How do I re-size a chart without using a mouse?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have 9 charts on one legal size area and would like all of them to be
exactly the same size. If you drag the charts, they still look off balance.
Is there a way to enter specific sizes? Thank you!!
 
Hi,

If it is just the chartarea size then you can select all the chart
objects, hold the SHIFT key whilst click each chart, then CTRL+1 to
bring up the Format dialog. On the Size tab you can set the same values
for all charts.

If its elements within the chart such as plot area or title position
then the F4 key can be used. Just perform 1 action then select the next
chart and press F4 to repeat. Beware though that a width and height
change is actual 2 changes, so only the last change will be repeated.

If the changes are many then perhaps a VBA solution is more suited.
Jon has some VBA code for altering chart sizes, including some zipped
workbooks, that my help.
http://peltiertech.com/Excel/ChartsHowTo/ResizeAndMoveAChart.html

Cheers
Andy
 
Thank you, Andy! :)

Andy Pope said:
Hi,

If it is just the chartarea size then you can select all the chart
objects, hold the SHIFT key whilst click each chart, then CTRL+1 to
bring up the Format dialog. On the Size tab you can set the same values
for all charts.

If its elements within the chart such as plot area or title position
then the F4 key can be used. Just perform 1 action then select the next
chart and press F4 to repeat. Beware though that a width and height
change is actual 2 changes, so only the last change will be repeated.

If the changes are many then perhaps a VBA solution is more suited.
Jon has some VBA code for altering chart sizes, including some zipped
workbooks, that my help.
http://peltiertech.com/Excel/ChartsHowTo/ResizeAndMoveAChart.html

Cheers
Andy
 
Kim, adding to Andy's note . . .

This macro will size all of the charts on the active sheet to the same
height and width. It also lines each chart up to a vertical left side
border. To change the sizes of the charts, make changes to the height and
width numbers.

If you only want the macro to size the charts the same without aligning
them, put an apostrophe ( ‘ ) in from of the “ChtObj.Left = 100†line.

To copy the macro into your workbook, go to Tools -> Macro -> Visual Basic
Editor. In the toolbar, go to Insert -> Module. Copy the macro into the new
code module. When you’ve completed copying the macro into the module, go
back to the toolbar and hit File -> Close to get back to the spreadsheet.

Sub SizeCharts()
Dim ChtObj As ChartObject
If ActiveChart Is Nothing Then MsgBox "Click on a chart and then run
macro"
For Each ChtObj In ActiveSheet.ChartObjects
ChtObj.Left = 100
ChtObj.Width = 336
ChtObj.Height = 204
Next ChtObj
End Sub

To run the macro, click on a chart and go to Tools -> Macro -> Macros -> and
run the macro called SizeCharts.
 
Thank you very much! :)

John Mansfield said:
Kim, adding to Andy's note . . .

This macro will size all of the charts on the active sheet to the same
height and width. It also lines each chart up to a vertical left side
border. To change the sizes of the charts, make changes to the height and
width numbers.

If you only want the macro to size the charts the same without aligning
them, put an apostrophe ( ‘ ) in from of the “ChtObj.Left = 100†line.

To copy the macro into your workbook, go to Tools -> Macro -> Visual Basic
Editor. In the toolbar, go to Insert -> Module. Copy the macro into the new
code module. When you’ve completed copying the macro into the module, go
back to the toolbar and hit File -> Close to get back to the spreadsheet.

Sub SizeCharts()
Dim ChtObj As ChartObject
If ActiveChart Is Nothing Then MsgBox "Click on a chart and then run
macro"
For Each ChtObj In ActiveSheet.ChartObjects
ChtObj.Left = 100
ChtObj.Width = 336
ChtObj.Height = 204
Next ChtObj
End Sub

To run the macro, click on a chart and go to Tools -> Macro -> Macros -> and
run the macro called SizeCharts.
 
Back
Top