Hi,
I am geting close to a solution.
I have this code which stores the the Tops & Lefts (In Pixels) of the range A1:F20 in 2 Arrays then I use a VlookUp function to return the Rows \ Columns that correspond to the current Cursor Coordinates which finally enables the Cell address to be displayed in cell A1.
The code must be assigned to a worksheet commandbutton.
When I run the code, if I move the mouse cursor over cell A1, the returned cell address is correct. However as I continue moving the mouse down, The returned cell address gradually becomes incorrect .
It is difficult to explain this problem. I am providing the code below so if anyone could test it and hopefully find out what I am doing wrong.

ray:
Code :
<font face=Courier New><SPAN style="color:#00007F">Option</SPAN> <SPAN style="color:#00007F">Base</SPAN> 1
<SPAN style="color:#00007F">Public</SPAN> <SPAN style="color:#00007F">Declare</SPAN> <SPAN style="color:#00007F">Function</SPAN> GetCursorPos <SPAN style="color:#00007F">Lib</SPAN> "user32" (lpPoint <SPAN style="color:#00007F">As</SPAN> POINTAPI) <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>
<SPAN style="color:#00007F">Public</SPAN> <SPAN style="color:#00007F">Type</SPAN> POINTAPI
x <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>
y <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Type</SPAN>
<SPAN style="color:#00007F">Dim</SPAN> RwsTop()
<SPAN style="color:#00007F">Dim</SPAN> ClmnsLeft()
<SPAN style="color:#00007F">Dim</SPAN> lngCurPos <SPAN style="color:#00007F">As</SPAN> POINTAPI
<SPAN style="color:#00007F">Dim</SPAN> Rng <SPAN style="color:#00007F">As</SPAN> Range
<SPAN style="color:#00007F">Sub</SPAN> Test()
<SPAN style="color:#00007F">On</SPAN> <SPAN style="color:#00007F">Error</SPAN> <SPAN style="color:#00007F">Resume</SPAN> <SPAN style="color:#00007F">Next</SPAN>
<SPAN style="color:#00007F">Set</SPAN> Rng = Range("A1:F20")
<SPAN style="color:#00007F">ReDim</SPAN> RwsTop(1 <SPAN style="color:#00007F">To</SPAN> Rng.Rows.Count, 2)
<SPAN style="color:#00007F">ReDim</SPAN> ClmnsLeft(1 To Rng.Columns.Count, 2)
i = 1
<SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> Rw <SPAN style="color:#00007F">In</SPAN> Rng.Rows
RwsTop(i, 1) = ActiveWindow.PointsToScreenPixelsY(Rw.Top)
RwsTop(i, 2) = Rw.Row
i = i + 1
<SPAN style="color:#00007F">Next</SPAN>
i = 1
<SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> Clmn <SPAN style="color:#00007F">In</SPAN> Rng.Columns
ClmnsLeft(i, 1) = ActiveWindow.PointsToScreenPixelsX(Clmn.Left)
ClmnsLeft(i, 2) = Clmn.Column
i = i + 1
<SPAN style="color:#00007F">Next</SPAN>
<SPAN style="color:#00007F">Do</SPAN>
GetCursorPos lngCurPos
Column = Application.WorksheetFunction.VLookup(lngCurPos.x, ClmnsLeft, 2, <SPAN style="color:#00007F">True</SPAN>)
Row = Application.WorksheetFunction.VLookup(lngCurPos.y, RwsTop, 2, <SPAN style="color:#00007F">True</SPAN>)
Cells(1, 1) = Cells(Row, Column).Address
DoEvents
<SPAN style="color:#00007F">Loop</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
</FONT>
Any suggestions will much appreciated.
Regards.