Changing Right Position of Chart
You could use something like this - aligns the left side of the chart with
column "L":
Sub AlignChartToColumn()
Dim cho As ChartObject
For Each cho In ActiveSheet.ChartObjects
cho.Left = Columns("L").Left
Next
End Sub
Assuming your chart were named "Cht1", to further align you could offset the
original position using something like the following:
ActiveSheet.Shapes("Cht1").Top = .Offset(2, 0).Top
ActiveSheet.Shapes("Cht1").Left = .Offset(3, 4).Left
John Mansfield
"AdmiralAJ" wrote:
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
|