ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Changing chart title changes position of chart (https://www.excelbanter.com/excel-programming/324465-changing-chart-title-changes-position-chart.html)

Bing

Changing chart title changes position of chart
 
Hello,

I've written some code to programmatically change the chart title and chart
title font size based on user interaction.

Problem is that each time the title undergoes a smaller font size change,
the chart actually changes position within the chart area by moving up.

Also any labels i've placed in the chart area also changes position and move
up as well.

Anyone have any ideas why and how to stop this?

Thank for helping!

Markus Scheible[_2_]

Changing chart title changes position of chart
 
Good Morning Bing,

Problem is that each time the title undergoes a smaller

font size change,
the chart actually changes position within the chart area

by moving up.

Also any labels i've placed in the chart area also

changes position and move
up as well.

Anyone have any ideas why and how to stop this?


well, afaik this is because Excel automatically arranges
all elements within a chart so that every element has the
max size. So if e.g. the chart title becomes smaller,
excel makes the chartarea larger...

I think you could stop this by using the

AutoScaleFont Property

for each element within the chart... e.g.

Selection.AutoScaleFont = False

Best

Markus


Jon Peltier[_9_]

Changing chart title changes position of chart
 
Also, once you explicitly set the size/position of an object, Excel doesn't try to
autofit it within the chart. So:

With ActiveChart.PlotArea
' position and size parameters are in points
' choose parameters that suit your situation
'
' shrink plot area first so you can move unconstrained
.Width = 50
.Height = 50
' position and resize plot area
.Left = 10
.Top = 24
.Width = 250
.Height = 175
End With

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______


Markus Scheible wrote:

Good Morning Bing,


Problem is that each time the title undergoes a smaller


font size change,

the chart actually changes position within the chart area


by moving up.

Also any labels i've placed in the chart area also


changes position and move

up as well.

Anyone have any ideas why and how to stop this?



well, afaik this is because Excel automatically arranges
all elements within a chart so that every element has the
max size. So if e.g. the chart title becomes smaller,
excel makes the chartarea larger...

I think you could stop this by using the

AutoScaleFont Property

for each element within the chart... e.g.

Selection.AutoScaleFont = False

Best

Markus



Bing

Changing chart title changes position of chart
 
Hi Markus, Jon

Thanks for your help. It works!

Cheers,
Bing

"Jon Peltier" wrote:

Also, once you explicitly set the size/position of an object, Excel doesn't try to
autofit it within the chart. So:

With ActiveChart.PlotArea
' position and size parameters are in points
' choose parameters that suit your situation
'
' shrink plot area first so you can move unconstrained
.Width = 50
.Height = 50
' position and resize plot area
.Left = 10
.Top = 24
.Width = 250
.Height = 175
End With

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______


Markus Scheible wrote:

Good Morning Bing,


Problem is that each time the title undergoes a smaller


font size change,

the chart actually changes position within the chart area


by moving up.

Also any labels i've placed in the chart area also


changes position and move

up as well.

Anyone have any ideas why and how to stop this?



well, afaik this is because Excel automatically arranges
all elements within a chart so that every element has the
max size. So if e.g. the chart title becomes smaller,
excel makes the chartarea larger...

I think you could stop this by using the

AutoScaleFont Property

for each element within the chart... e.g.

Selection.AutoScaleFont = False

Best

Markus





All times are GMT +1. The time now is 08:08 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com