It may be needed that the possibility for exiting a userform until all entries have been entered is prohibited, but there is still the red cross which allows the user to exit.
Use the following code to remove the cross.
In the declaration part of a UF
'to remove the cross in a user form Declare Function GetWindowLongA Lib "user32" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long Declare Function SetWindowLongA Lib "user32" _ (ByVal hwnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Declare Function FindWindowA Lib "user32" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
In the initialization of the UF
Private Sub UserForm_Initialize() Dim hwnd As Long hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") _ & "Frame", Me.Caption) SetWindowLongA hwnd, -16, GetWindowLongA