Hi,
Try this, Right click your userform, view code and paste this in. You don't
need the message box but it serves to terminate the drag instantly and stops
the userform flashing about. Try it without.
Option Explicit
Private Type position
Left As Single
Top As Single
End Type
Private Sub UserForm_Layout()
Static Pos As position
Dim Moved As Boolean
If Pos.Left = 0 Or Pos.Top = 0 Then
Pos.Left = Me.Left
Pos.Top = Me.Top
Exit Sub
End If
Moved = False
If Me.Left <> Pos.Left Then
Me.Left = Pos.Left
Moved = True
End If
If Me.Top <> Pos.Top Then
Me.Top = Pos.Top
Moved = True
End If
If Moved = True Then
MsgBox "Can't do that"
End If
End Sub
Mike