<userform name>.Show
'example frmHome.Show
<userform name>.Show
'example frmHome.Show
<listbox name>.AddItem <value to be added>
'example - userform called formHome exists formHome.lstGuests.AddItem "Tristan Smith"
Me.StartUpPosition = 0
Me.Top = Application.Top + 25
Me.Left = Application.Left + Application.Width - Me.Width - 25
'example - place in UserForm_Activate procedure
Private Sub UserForm_Activate() 'when form opens
Me.StartUpPosition = 0
Me.Top = Application.Top + 25
Me.Left = Application.Left + Application.Width - Me.Width - 25
End Sub
Dim cntrl as Control For Each cntrl In <userformname>.Controls 'goes through all controls in form If TypeOf cntrl Is Image Then 'if control is image cntrl.Picture = LoadPicture(<picture's filepath here>) End If Next 'moves onto next control
'example - updates the tiles (which are images) in a connect-3 game 'there are 90 image controls, all with naming convention: r<row>c<column> '(ex) r01c01, r01c02, r01c03...r09c10 'there are 7 random colours a tile can be, the random number is stored in a sheet Private Sub updateDisplay() 'call this procedure whenver display wanted to update Dim cntrl As Control Dim rr, cc As Integer 'for rows and columns Dim strPath(7) As String strPath(0) = "C:\Users\Documents\connect3\images\Yellow.jpg" strPath(1) = "C:\Users\Documents\connect3\images\Green.jpg" strPath(2) = "C:\Users\Documents\connect3\images\Pink.jpg" strPath(3) = "C:\Users\Documents\connect3\images\White.jpg" strPath(4) = "C:\Users\Documents\connect3\images\Red.jpg" strPath(5) = "C:\Users\Documents\connect3\images\Cyan.jpg" strPath(6) = "C:\Users\Documents\connect3\images\Orange.jpg" For Each cntrl In frmConnect.Controls If TypeOf cntrl Is Image Then 'cntrl.Name is in form r01c01, r01c02...r09c10 rr = Int(Mid(cntrl.Name, 2, 2)) 'returns 3 if r03c04 cc = Int(Mid(cntrl.Name, 5, 2)) 'returns 4 if r03c04 cntrl.Picture = LoadPicture(strPath(Cells(rr, cc).Value)) rr = rr + 1 cc = cc + 1 End If Next End Sub
Put the code below in a separate module from that of the userform. A common choice for users is the proceduce of Workbook_Open() under module ThisWorkbook.
Private Sub Workbook_Open() <user form name>.Show End Sub
Do not use the load method, as this just loads the form but does not make it visible. Besides, Show option automatically loads it anyway.
Load <user form name>