Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 275
Default can a userform be 'locked' into position

can a userform be 'locked' into position once displayed?

thanks
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,501
Default can a userform be 'locked' into position

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

"Anthony" wrote:

can a userform be 'locked' into position once displayed?

thanks

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 275
Default can a userform be 'locked' into position

Hi Mike and thanks for help

the inserted code comes back with an error and stops on this line

Static Pos As position

any ideas?

thanks

"Mike H" wrote:

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

"Anthony" wrote:

can a userform be 'locked' into position once displayed?

thanks

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,501
Default can a userform be 'locked' into position

Hi,

Did you paste this bit in? It need all of the code if not it will give a

user defined type not defined error

Option Explicit
Private Type position
Left As Single
Top As Single
End Type

Mike

"Anthony" wrote:

Hi Mike and thanks for help

the inserted code comes back with an error and stops on this line

Static Pos As position

any ideas?

thanks

"Mike H" wrote:

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

"Anthony" wrote:

can a userform be 'locked' into position once displayed?

thanks

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 275
Default can a userform be 'locked' into position

Hi Mike,
yep that has locked the userform, however if I drag the scroll bar accross
the worksheet the form still moves. I want it locked so that it stays in
place - almost locked to a cell range for example.

"Mike H" wrote:

Hi,

Did you paste this bit in? It need all of the code if not it will give a

user defined type not defined error

Option Explicit
Private Type position
Left As Single
Top As Single
End Type

Mike

"Anthony" wrote:

Hi Mike and thanks for help

the inserted code comes back with an error and stops on this line

Static Pos As position

any ideas?

thanks

"Mike H" wrote:

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

"Anthony" wrote:

can a userform be 'locked' into position once displayed?

thanks



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,501
Default can a userform be 'locked' into position

Then I hope you get an answer, I don't know how to do that

Mike

"Anthony" wrote:

Hi Mike,
yep that has locked the userform, however if I drag the scroll bar accross
the worksheet the form still moves. I want it locked so that it stays in
place - almost locked to a cell range for example.

"Mike H" wrote:

Hi,

Did you paste this bit in? It need all of the code if not it will give a

user defined type not defined error

Option Explicit
Private Type position
Left As Single
Top As Single
End Type

Mike

"Anthony" wrote:

Hi Mike and thanks for help

the inserted code comes back with an error and stops on this line

Static Pos As position

any ideas?

thanks

"Mike H" wrote:

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

"Anthony" wrote:

can a userform be 'locked' into position once displayed?

thanks

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Excel 2003 -- position locked--anchored to a cell?? Lai704 Excel Discussion (Misc queries) 2 May 9th 08 04:46 PM
UserForm position Steve Excel Discussion (Misc queries) 1 August 26th 07 04:50 AM
Position of a UserForm MD Excel Programming 2 April 12th 05 12:29 AM
Userform Position Pete Excel Programming 4 February 20th 05 12:01 AM
UserForm position Tim Excel Programming 2 February 12th 04 03:20 PM


All times are GMT +1. The time now is 10:30 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"