View Full Version : Right mouse click on user form

01-14-2009, 03:52 AM
Excel 2003.
It doesn't seem to be possible to use a right-click function on my user form.

Is it at all possible?
Is it possible to create your own "rightclick" menu?


Jan Karel Pieterse
01-14-2009, 04:20 AM
The userform has a mouseup event which you can use to check if it has been right-clicked. Note that this event only fires if the user clicks outside of a control. So basically you'd have to add a mouseup event to each control you want a rightclick action for as well. The Button argument tells you what mousebutton was used.

01-14-2009, 06:50 AM
Something like this

Private Sub Userform_Initialize()
'Remove any old instance of MyPopUp
On Error Resume Next
On Error GoTo 0

With CommandBars.Add(Name:="FilePopUp", Position:=msoBarPopup)
With .Controls.Add(Type:=msoControlButton)
.OnAction = "ShowDataForm"
.Caption = "Data Form"
End With
With .Controls.Add(Type:=msoControlButton)
.OnAction = "procExit"
.Caption = "Exit"
End With
End With
End Sub

Private Sub UserForm_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
If Button = xlSecondaryButton Then
End If
End Sub