View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Capturing pointer locations

I don't believe Bernie showed:

Private Sub UserForm_MouseDown(Button, Shift, X, Y)

Your button shift x and y are variants which doesn't match what is expected.

He showed:

Private Sub UserForm_MouseDown(ByVal Button As Integer, _
ByVal Shift As
Integer, _
ByVal X As
Single, _
ByVal Y As
Single)
MsgBox "X of the click: " & X
MsgBox "Y of the click: " & Y
End Sub

So use it as he posted it. You are not defining the event - it is already
defined. That is why it is always best to select the event from the
dropdowns and let excel put in the declaration.

Your code worked fine for me when I substituted Bernie's event code.

Regards,
Tom Ogilvy


Paul Shepherd wrote in message
...

Hi Bernie, thanks for your reply.

I've put the code in the userform's code module, which I access by
double clicking the userform while in design mode. The userform is
initialized from the following code in a standard module:

Global userfm1 As UserForm1
Sub define_frame() 'Cntl-a calls UserForm1
Set userfm1 = New UserForm1
userfm1.Show
End Sub

where subroutine define_frame() is executes by typing control-a from a
worksheet.

However, with the following in the useform's code module:

Private Sub UserForm_MouseDown(Button, Shift, X, Y)
MsgBox X
MsgBox Y
End Sub

I receive a compiler error "Procedure does not match description of
event or procedure having the same name". Also, the only autogeneration
of coding that occurs is the appearance of the "End Sub". I guess I'm
doing something wrong! Please advise me if you know what it could be.

Thanks again.
Paul

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!