![]() |
Determining chart points at mouse position
I can determine where the mouse is in a MouseUp event on a
chart (thanks to Greg and Jon for the helpful hints) but converting that to chart points (not printing points -- 1/72 in) and values is ludicrous. I can estimate chart points (the chart X value) by using the mouse position in printing points (1/72 in) and Left, InsideWidth, the total number of X points on the charts, and some silly math. However, if you float the mouse pointer over a point on the graph, a Excel pop-up shows the actual chart point and value. That's what I need! Microsoft can do it; why can't I? I suspect that if I could determine the index of the Point object in the Points collection, I could then read the values from the worksheet data. But how can I determine that index? Is there another way? I think my next post will have to be to a psychiatry group. Steve |
Determining chart points at mouse position
Steve -
Forget the mouse coordinates, it'll only enrich the psychiatrists. I have some sample code to get information about clicked points, and you can use a different event for mousing over the points: Easy version, chart sheets only: http://peltiertech.com/Excel/Zips/Ge...ChartSheet.zip Harder, embedded charts: http://peltiertech.com/Excel/Zips/GetXYonAnyChart.zip Documentation is rather scant, but you should at least get an idea. - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ Steve wrote: I can determine where the mouse is in a MouseUp event on a chart (thanks to Greg and Jon for the helpful hints) but converting that to chart points (not printing points -- 1/72 in) and values is ludicrous. I can estimate chart points (the chart X value) by using the mouse position in printing points (1/72 in) and Left, InsideWidth, the total number of X points on the charts, and some silly math. However, if you float the mouse pointer over a point on the graph, a Excel pop-up shows the actual chart point and value. That's what I need! Microsoft can do it; why can't I? I suspect that if I could determine the index of the Point object in the Points collection, I could then read the values from the worksheet data. But how can I determine that index? Is there another way? I think my next post will have to be to a psychiatry group. Steve |
Determining chart points at mouse position
From the VBA help example for GetChartElement method of the Chart object:
Private Sub Chart_MouseMove(ByVal Button As Long, _ ByVal Shift As Long, ByVal X As Long, ByVal Y As Long) Dim IDNum As Long Dim a As Long Dim b As Long ActiveChart.GetChartElement X, Y, IDNum, a, b If IDNum = xlLegendEntry Then _ MsgBox "WARNING: Move away from the legend" End Sub See excel VBA help for details: expression.GetChartElement(X, Y, ElementID, Arg1, Arg2) if the element is a series it returns ElementID Arg1 Arg2 xlSeries SeriesIndex PointIndex Unlike other type functions, the last 3 arguments are returned from GetChartElement -- Regards, Tom Ogilvy "Steve" wrote in message ... I can determine where the mouse is in a MouseUp event on a chart (thanks to Greg and Jon for the helpful hints) but converting that to chart points (not printing points -- 1/72 in) and values is ludicrous. I can estimate chart points (the chart X value) by using the mouse position in printing points (1/72 in) and Left, InsideWidth, the total number of X points on the charts, and some silly math. However, if you float the mouse pointer over a point on the graph, a Excel pop-up shows the actual chart point and value. That's what I need! Microsoft can do it; why can't I? I suspect that if I could determine the index of the Point object in the Points collection, I could then read the values from the worksheet data. But how can I determine that index? Is there another way? I think my next post will have to be to a psychiatry group. Steve |
All times are GMT +1. The time now is 02:57 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com