Alex,
Adding to this. There are 4 values for CloseMode
vbFormControlMenu 0 The user has chosen the Close command from the
Control menu on the UserForm.
vbFormCode 1 The Unload statement is invoked from code.
vbAppWindows 2 The current Windows operating environment session is
ending.
vbAppTaskManager 3 The Windows Task Manager is closing the
application.
You may only want to trap value 0, but you may also want to trap 2 and 3.
Probably best not to trap 1, else your code won't be able to close it.
--
HTH
RP
(remove nothere from the email address if mailing direct)