Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 23
Default Embedded chart alignment

I am trying to make the y-axis of an embedded chart line up with the edge of
a column. However I'm struggling to do so because I'm not sure of the
relationships between:

- activechart.parent.*
- activechart.chartarea.*
- activechart.plotarea.*
- activechart.plotarea.inside*

where * denotes a property such as left, width, top or height.

I know that the lower 3 properties are referenced from the parent object
position, but other than that I can't get the axis to sit where I want it.
It's always *slightly* off. I'm also struggling to determine which of these
properties is read-only.

I'm using the chartobjects.add() command to add an area plot with the
..parent dimensions that I'd like and then I'm removing *all* axes
information, including the axial lines themselves. Thus the plot is
essentially a floating area. There are multiple instances of these floating
areas arranged vertically, and I'd like them to all line up properly with
column edges such that I can use columns to delineate years (they are all
time series).

Any explanations on how these properties relate to each other / are
calculated during chart resizing, such that I can control the position of the
axes, would be great.

Cheers,

Matt
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,582
Default Embedded chart alignment

This download (a zipped workbook) has code that aligns various elements of
multiple charts:

http://peltiertech.com/Excel/Zips/Al...Dimensions.zip

It's not particularly well documented, but it may answer some of your
questions.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services, Inc.
http://PeltierTech.com/WordPress/
_______


"Matt McQueen" wrote in message
...
I am trying to make the y-axis of an embedded chart line up with the edge
of
a column. However I'm struggling to do so because I'm not sure of the
relationships between:

- activechart.parent.*
- activechart.chartarea.*
- activechart.plotarea.*
- activechart.plotarea.inside*

where * denotes a property such as left, width, top or height.

I know that the lower 3 properties are referenced from the parent object
position, but other than that I can't get the axis to sit where I want it.
It's always *slightly* off. I'm also struggling to determine which of
these
properties is read-only.

I'm using the chartobjects.add() command to add an area plot with the
.parent dimensions that I'd like and then I'm removing *all* axes
information, including the axial lines themselves. Thus the plot is
essentially a floating area. There are multiple instances of these
floating
areas arranged vertically, and I'd like them to all line up properly with
column edges such that I can use columns to delineate years (they are all
time series).

Any explanations on how these properties relate to each other / are
calculated during chart resizing, such that I can control the position of
the
axes, would be great.

Cheers,

Matt



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 88
Default Embedded chart alignment

The code below aligns the intersection of x- and y-axes with the upper left
corner of the chosen cell. Well, at least it worked on this specific example
for me!

One KEY: If you change just about ANYTHING about the chart after this
(fonts, scales, etc), Excel will likely change the locations of plot area,
axes, etc, and that will change the alignment of axes to cell coordinates.

'
' Aligns chart axis intersection to upper left corner of cell.
' Assumes a chart is selected...
' also assumes we want to align X and Y axes
' with cell "E20", just for example purposes.
'
Sub Align_Chart_Axes_to_Cell()
Dim xLoc As Double, yLoc As Double
xLoc = ActiveSheet.Cells(40, 5).Left
yLoc = ActiveSheet.Cells(40, 5).Top
'
With ActiveChart.Parent
.Left = xLoc - ActiveChart.ChartArea.Left -
ActiveChart.PlotArea.InsideLeft
.Top = yLoc - ActiveChart.ChartArea.Top
.Top = .Top - ActiveChart.PlotArea.InsideHeight
.Top = .Top - ActiveChart.PlotArea.InsideTop
End With
End Sub


HTH,

Eric
--
-----------------------
If toast always lands butter-side down, and cats always land on their feet,
what happen if you strap toast on the back of a cat and drop it?
Steven Wright (1955 - )


"Matt McQueen" wrote:

I am trying to make the y-axis of an embedded chart line up with the edge of
a column. However I'm struggling to do so because I'm not sure of the
relationships between:

- activechart.parent.*
- activechart.chartarea.*
- activechart.plotarea.*
- activechart.plotarea.inside*

where * denotes a property such as left, width, top or height.

I know that the lower 3 properties are referenced from the parent object
position, but other than that I can't get the axis to sit where I want it.
It's always *slightly* off. I'm also struggling to determine which of these
properties is read-only.

I'm using the chartobjects.add() command to add an area plot with the
.parent dimensions that I'd like and then I'm removing *all* axes
information, including the axial lines themselves. Thus the plot is
essentially a floating area. There are multiple instances of these floating
areas arranged vertically, and I'd like them to all line up properly with
column edges such that I can use columns to delineate years (they are all
time series).

Any explanations on how these properties relate to each other / are
calculated during chart resizing, such that I can control the position of the
axes, would be great.

Cheers,

Matt

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 23
Default Embedded chart alignment

Jon, Eric - many thanks to both of you. I think I can sort it out now, and
Eric's clear-headed positioning was what I was struggling in vain to produce.

Cheers,

Matt
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Extracting chart title from Embedded Excel Chart in PowerPoint Barb Reinhardt Excel Programming 1 June 11th 08 02:22 PM
Format alignment for XLS 2007 in the chart data vcff Excel Discussion (Misc queries) 4 March 5th 08 12:14 AM
Chart Axis Alignment Jon Peltier Excel Programming 0 December 8th 06 06:50 PM
Embedded Chart Versus Chart - ShowDetail Issue [email protected] Charts and Charting in Excel 1 May 14th 06 04:11 PM
Chart DataLabel Alignment / Word Wrap John Michl Excel Programming 2 January 6th 06 02:29 PM


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"