Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
can a userform be 'locked' into position once displayed?
thanks |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Excel 2003 -- position locked--anchored to a cell?? | Excel Discussion (Misc queries) | |||
UserForm position | Excel Discussion (Misc queries) | |||
Position of a UserForm | Excel Programming | |||
Userform Position | Excel Programming | |||
UserForm position | Excel Programming |