M
Mark Stephens
The code below works beautifully except for the Deselection of the chart
which steadfastly refuses to work. I even added
ActiveChart.ChartArea.Select
as an intermediate step to encourage it and two more chances before it
exits! What can be the problem here? The code is obviously executing but for
some reason does not see itself as active as soon as the event is triggered.
ANhyone know why it won't Deselect?
Thanks for your help, Mark
Private Sub Chart_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal
x As Long, ByVal y As Long)
Dim ElementID As Long, Arg1 As Long, Arg2 As Long
With ActiveChart
' Pass x & y, return ElementID and Args
..GetChartElement x, y, ElementID, Arg1, Arg2
' Did we click on a point?
If ElementID = xlSeries Then
'Is it already Exploded?
If ActiveChart.SeriesCollection(1).Points(Arg2).Explosion > 0
Then
ActiveChart.SeriesCollection(1).Points(Arg2).Explosion = 0
ActiveChart.ChartArea.Select
ActiveChart.Deselect
Else
ActiveChart.SeriesCollection(1).Points(Arg2).Explosion = 20
ActiveChart.ChartArea.Select
ActiveChart.Deselect
End If
End If
ActiveChart.ChartArea.Select
ActiveChart.Deselect
End With
ActiveChart.ChartArea.Select
ActiveChart.Deselect
End Sub
which steadfastly refuses to work. I even added
ActiveChart.ChartArea.Select
as an intermediate step to encourage it and two more chances before it
exits! What can be the problem here? The code is obviously executing but for
some reason does not see itself as active as soon as the event is triggered.
ANhyone know why it won't Deselect?
Thanks for your help, Mark
Private Sub Chart_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal
x As Long, ByVal y As Long)
Dim ElementID As Long, Arg1 As Long, Arg2 As Long
With ActiveChart
' Pass x & y, return ElementID and Args
..GetChartElement x, y, ElementID, Arg1, Arg2
' Did we click on a point?
If ElementID = xlSeries Then
'Is it already Exploded?
If ActiveChart.SeriesCollection(1).Points(Arg2).Explosion > 0
Then
ActiveChart.SeriesCollection(1).Points(Arg2).Explosion = 0
ActiveChart.ChartArea.Select
ActiveChart.Deselect
Else
ActiveChart.SeriesCollection(1).Points(Arg2).Explosion = 20
ActiveChart.ChartArea.Select
ActiveChart.Deselect
End If
End If
ActiveChart.ChartArea.Select
ActiveChart.Deselect
End With
ActiveChart.ChartArea.Select
ActiveChart.Deselect
End Sub