i have three overlapping objects and would like to write a macro that can change the order and bring each object to the front; something like:

Sub Macro1()

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
Selection.ShapeRange.ZOrder msoBringToFront

End Sub

Sub Macro2()

ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartArea.Select
Selection.ShapeRange.ZOrder msoBringToFront

End Sub


This sort've works; the trouble is when i click to another part of the worksheet the chart doesn't keep its place. if i want chart 2 brought to the front i hit the macro and it'll be selected and on top, then click anywhere else and chart 1 is brought back in front. any ideas? thanks