'in class module
Private Sub MyChart_Activate()
WriteEvent "Chart Activated"
End Sub
Private Sub MyChart_MouseMove(ByVal Button As Long, ByVal Shift As Long, ByVal X As Long, ByVal Y As Long)
Dim ElementID As Long, ID As String
Dim a As Long, b As Long
ActiveChart.GetChartElement X, Y, ElementID, a, b
Application.StatusBar = "Mouse coordinates: " & X & ", " & Y
End Sub
Private Function GetChartElementName(ElementID, Optional arg1, Optional arg2) As String
Select Case ElementID
Case xlAxis
GetChartElementName = "Axis " & arg1 & " " & arg2
Case xlAxisTitle
GetChartElementName = "Axis Title " & arg1 & " " & arg2
Case xlChartArea
GetChartElementName = "ChartArea"
Case xlChartTitle
GetChartElementName = "ChartTitle"
Case xlCorners
GetChartElementName = "Corners"
Case xlDataLabel
If arg2 = -1 Then
GetChartElementName = "Data Labels " & arg1
Else
GetChartElementName = "Data Label " & arg1 & " " & arg2
End If
Case xlDataTable
GetChartElementName = "Data Table"
Case xlDisplayUnitLabel
GetChartElementName = "Display Unit Label " & arg1 & " " & arg2
Case xlDownBars
GetChartElementName = "Down Bars " & arg1
Case xlDropLines
GetChartElementName = "Drop Lines " & arg1
Case xlErrorBars
GetChartElementName = "Error Bars " & arg1
Case xlFloor
GetChartElementName = "Floor"
Case xlHiLoLines
GetChartElementName = "HiLoLines " & arg1
Case xlLegend
GetChartElementName = "Legend"
Case xlLegendEntry
GetChartElementName = "LegendEntry " & arg1
Case xlLegendKey
GetChartElementName = "LegendKey " & arg1
Case xlMajorGridlines
GetChartElementName = "Major Gridlines " & arg1 & " " & arg2
Case xlMinorGridlines
GetChartElementName = "Minor Gridlines " & arg1 & " " & arg2
Case xlNothing
GetChartElementName = "Nothing"
Case xlPivotChartDropZone
GetChartElementName = "Pivot Chart Drop Zone " & arg1
Case xlPivotChartFieldButton
GetChartElementName = "Pivot Chart Field Button" & arg1 & " " & arg2
Case xlPlotArea
GetChartElementName = "PlotArea"
Case xlRadarAxisLabels
GetChartElementName = "RadarAxisLabels " & arg1
Case xlSeries
If arg2 = -1 Then
GetChartElementName = "Series " & arg1
Else
GetChartElementName = "Series " & arg1 & " " & arg2
End If
Case xlSeriesLines
GetChartElementName = "SeriesLines " & arg1
Case xlShape
GetChartElementName = "Shape " & arg1
Case xlTrendline
GetChartElementName = "Trendline" & arg1
Case xlUpBars
GetChartElementName = "UpBars " & arg1
Case xlWalls
GetChartElementName = "Walls"
Case xlXErrorBars
GetChartElementName = "XErrorBars " & arg1
Case xlYErrorBars
GetChartElementName = "YErrorBars " & arg1
Case Else: GetChartElementName = "Some unknown thing"
End Select
End Function