Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 23
Default ChartArea.left reporting incorrectly?

Folks,

A few moons ago I posted this query:

http://www.pcreview.co.uk/forums/thread-3767566.php

Eric/egun's response allowed me to accomplish what I was after using the code:

..Parent.Left = xLoc - ActiveChart.ChartArea.Left -
ActiveChart.PlotArea.InsideLeft

However I've now run into an issue whereby the activechart.chartarea.left
report is incorrect. After creating 9 plots with .chartarea.left = 3, it then
produces two plots with .chartarea.left = 118. Since my goal is to align my
primary y-axis to the right-hand edge of column B, this poses a problem. The
effective code becomes:

..Parent.Left = 96 - 118 - ActiveChart.PlotArea.InsideLeft

which is less than zero. The chart is still created, just shifted to the far
left of the screen.

Interestingly, if I break the code and step through - voila, no problem!

Anybody seen this one before?

Cheers,

Matt
  #2   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 23
Default ChartArea.left reporting incorrectly?

I forgot to mention that it's Excel 2003.
  #3   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 461
Default ChartArea.left reporting incorrectly?

"Interestingly, if I break the code and step through - voila, no problem!"

When this happens it often means Excel gets ahead of itself, and really
needs to let Windows do some cleaning up before it executes that statement.

You can make this happen by inserting this line before any command that
works only when stepping through:

DoEvents

- Jon
-------
Jon Peltier
Peltier Technical Services, Inc.
http://peltiertech.com/



Matt McQueen wrote:
Folks,

A few moons ago I posted this query:

http://www.pcreview.co.uk/forums/thread-3767566.php

Eric/egun's response allowed me to accomplish what I was after using the code:

.Parent.Left = xLoc - ActiveChart.ChartArea.Left -
ActiveChart.PlotArea.InsideLeft

However I've now run into an issue whereby the activechart.chartarea.left
report is incorrect. After creating 9 plots with .chartarea.left = 3, it then
produces two plots with .chartarea.left = 118. Since my goal is to align my
primary y-axis to the right-hand edge of column B, this poses a problem. The
effective code becomes:

.Parent.Left = 96 - 118 - ActiveChart.PlotArea.InsideLeft

which is less than zero. The chart is still created, just shifted to the far
left of the screen.

Interestingly, if I break the code and step through - voila, no problem!

Anybody seen this one before?

Cheers,

Matt

  #4   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 23
Default ChartArea.left reporting incorrectly?

Interesting tip Jon, thanks for that. I employed it prior to the With - End
With statement I was using on each successive plot to format and orient it.
Previously it was misalinging the final two plots created... with DoEvents it
only misaligned the last plot. I added a DoEvents immediately after the
realignment as well, and Excel turned ScreenUpdating back on (!). Figured I
was in over my head at that point.

In the end I've hardcoded the numbers since they'll nearly always be
constant. Thanks anyway.

  #5   Report Post  
Posted to microsoft.public.excel.charting
external usenet poster
 
Posts: 71
Default ChartArea.left reporting incorrectly?

Matt, set Application.Screenupdating = True. I have seen a number of times
that Excel must update the chart before a property can be properly obtained.
By stepping through the code, you are in effect allowing the chart to
update, which is why it works when stepping through.

Robert Flanagan
http://www.add-ins.com
Productivity add-ins and downloadable books on VB macros for Excel

"Matt McQueen" wrote in message
...
Folks,

A few moons ago I posted this query:

http://www.pcreview.co.uk/forums/thread-3767566.php

Eric/egun's response allowed me to accomplish what I was after using the
code:

.Parent.Left = xLoc - ActiveChart.ChartArea.Left -
ActiveChart.PlotArea.InsideLeft

However I've now run into an issue whereby the activechart.chartarea.left
report is incorrect. After creating 9 plots with .chartarea.left = 3, it
then
produces two plots with .chartarea.left = 118. Since my goal is to align
my
primary y-axis to the right-hand edge of column B, this poses a problem.
The
effective code becomes:

.Parent.Left = 96 - 118 - ActiveChart.PlotArea.InsideLeft

which is less than zero. The chart is still created, just shifted to the
far
left of the screen.

Interestingly, if I break the code and step through - voila, no problem!

Anybody seen this one before?

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
when inserting new worksheets they read right to left not left to. Andy Setting up and Configuration of Excel 2 December 3rd 08 09:51 PM
error when resizing chartarea programaticly TONY Charts and Charting in Excel 1 December 18th 07 03:44 PM
What is the relationship between .ChartArea and the default printer ? Xavier Charts and Charting in Excel 0 May 3rd 06 02:53 PM
chartarea sandhya Charts and Charting in Excel 0 September 29th 05 01:08 PM
How to change the right-to-left worksheet to left-to-right workshe RAMA Excel Discussion (Misc queries) 1 July 4th 05 01:57 PM


All times are GMT +1. The time now is 06:10 PM.

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"