View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.charting
AdmiralAJ AdmiralAJ is offline
external usenet poster
 
Posts: 18
Default Changing Right Position of Chart

On Apr 11, 3:24 pm, "Jon Peltier"
wrote:
You have specified .Height, .Width, and .Top for the chart objects, but not
.Left.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutionshttp://PeltierTech.com
_______

"AdmiralAJ" wrote in message

oups.com...

I have a spreadsheet with 2 charts side by side. Sometimes code
executed from an input sheet will hide a column on this sheet. I have
the following code set to execute when this sheet is activated to
align both charts the only problem is the second chart (to the right
of the first chart is never aligned to the last column which would be
"L".


Any ideas on how to achieve this? My code follows:


Private Sub Worksheet_Activate()
Dim cho As ChartObject


Application.ScreenUpdating = False
Unprotect


For Each cho In ActiveSheet.ChartObjects
With cho
.Height = 192.75
.Top = 428.25
.Width = 400


With .Chart
.ChartArea.AutoScaleFont = False


' fix the title
If .HasTitle Then
With .ChartTitle.Font
.Size = 10
.Name = "Tahoma"
.FontStyle = "Bold"
End With
End If


' fix the legend
If .HasLegend Then
With .Legend.Font
.Size = 9
.Name = "Tahoma"
.FontStyle = "Regular"
End With
End If
End With
End With
Next


' Protect
Application.ScreenUpdating = True
End Sub


Jon and John,

Thanks for your help, but I guess I was not very clear. I needed to
have the right edge of the chart aligned with the right edge of column
"L". I found a fix on the MS site and I thought I'd let you see it.

'this code helps position the right side of chart 2 to the right edge
of column L
Set myrange = Range("a1:l1") 'choose the column range of the
report to help determine its width
ChartObjects(2).Left = (myrange.Width - ChartObjects(2).Width)

Thanks again for your help.

AJ