Thank you for the assist, Sam. Your idea may work; however, I have a compile error - object required on the "Set FormShowed = True" line. I may have declared the boolean incorrectly? See code below.
The objective of the process is that when the user opens the workbook, they select their name and the process being performed (which is why they may need to see the "Home" page to be sure what process is required), which in turn timestamps a timekeeping page. Once the workbook is closed, the timekeeping page is timestamped with the close time. So, it should only happen once per workbook opening.
Dim FormShowed As Boolean
Private Sub Worksheet_Activate()
If Not FormShowed Then
With UserForm1
.StartUpPosition = 0
.Left = Application.Left + (0.5 * Application.Width) - (0.5 * .Width)
.Top = Application.Top + (0.5 * Application.Height) - (0.5 * .Height)
.Show
End With
Set FormShowed = True
Worksheets("TIME").Range("D1999").End(xlUp).Offset(1, 0).Value = UserForm1.ListBox1.Value
Worksheets("TIME").Range("E1999").End(xlUp).Offset(1, 0).Value = Left(UserForm1.ListBox2.Value, 2)
End Sub
(I used the worksheet activate event as opposed to the worksheet change event....will tinker with that to see which is better.)