ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   What's the difference between 'Set UserForm1=Nothing' and 'Unload UserForm1' ? (https://www.excelbanter.com/excel-programming/361166-whats-difference-between-set-userform1%3Dnothing-unload-userform1.html)

Zoo

What's the difference between 'Set UserForm1=Nothing' and 'Unload UserForm1' ?
 
I have 'UserForm1' and Module1.
In UserForm1:

Private Sub UserForm_Initialize()
Debug.Print "Initialized"
End Sub

Private Sub UserForm_Terminate()
Debug.Print "Terminated"
End Sub

In Module1:

Sub Main()

Debug.Print "Set UserForm1 to nothing"
Set UserForm1 = Nothing

Debug.Print

Debug.Print "Unload UserForm1"
Unload UserForm1

End Sub

After running 'Main', the result is:
-------------------------
Set UserForm1 to nothing

Unload UserForm1
Initialized
Terminated
-------------------------
This means Unload statement creates a new instance of UserForm before
destroying it.
What makes the difference between Set and Unload?
Are there any other differences between those?



Wendell A. Clark

What's the difference between 'Set UserForm1=Nothing' and 'Unload UserForm1' ?
 
setting an object to nothing returns the memory....

--
Wendell A. Clark, BS
-------------------------------------

CONFIDENTIALITY NOTICE: This e-mail communication and any attachments may
contain confidential and privileged information for the use of the
designated recipients named above. If you are not the intended recipient,
please notify us by reply e-mail. You are hereby notified that you have
received this communication in error and that any review, disclosure,
dissemination, distribution or copying of it or its contents is prohibited.
If you have received this communication in error, please destroy all copies
of this communication and any attachments. Contact the sender if it
continues.


"Zoo" wrote in message
...
I have 'UserForm1' and Module1.
In UserForm1:

Private Sub UserForm_Initialize()
Debug.Print "Initialized"
End Sub

Private Sub UserForm_Terminate()
Debug.Print "Terminated"
End Sub

In Module1:

Sub Main()

Debug.Print "Set UserForm1 to nothing"
Set UserForm1 = Nothing

Debug.Print

Debug.Print "Unload UserForm1"
Unload UserForm1

End Sub

After running 'Main', the result is:
-------------------------
Set UserForm1 to nothing

Unload UserForm1
Initialized
Terminated
-------------------------
This means Unload statement creates a new instance of UserForm before
destroying it.
What makes the difference between Set and Unload?
Are there any other differences between those?






All times are GMT +1. The time now is 11:13 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com