ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Setting variables to Nothing (https://www.excelbanter.com/excel-programming/320521-setting-variables-nothing.html)

Matt Jensen

Setting variables to Nothing
 
As good programming practice, what of the possible variable types should be
set to nothing or null?
Can /should you set integers to nothing for example?
Thanks
Matt



Tom Ogilvy

Setting variables to Nothing
 
integers can't be set to nothing. They are initialized to a value of zero.

You shouldn't have to worry about any type of local variable because they go
out of scope and are destroyed when the code in which they are defined stops
running.

No variables have a default value of Null, so you shouldn't use that.

Only objects can be set to Nothing

Dynamic arrays can be erased

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
As good programming practice, what of the possible variable types should

be
set to nothing or null?
Can /should you set integers to nothing for example?
Thanks
Matt





Matt Jensen

Setting variables to Nothing
 
Thanks Tom
Pertaining to that checkbox naming code you helped me with yesterday:

snippet

dim cb as OLEObject
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _

I reuse / redfine this cb variable/object several times in one procedure,
should I set it to nothing before each I use it again or just at the end of
the proc?

Thanks
Matt

"Tom Ogilvy" wrote in message
...
integers can't be set to nothing. They are initialized to a value of

zero.

You shouldn't have to worry about any type of local variable because they

go
out of scope and are destroyed when the code in which they are defined

stops
running.

No variables have a default value of Null, so you shouldn't use that.

Only objects can be set to Nothing

Dynamic arrays can be erased

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
As good programming practice, what of the possible variable types should

be
set to nothing or null?
Can /should you set integers to nothing for example?
Thanks
Matt







Tom Ogilvy

Setting variables to Nothing
 
reassigning it to refer to another object is fine. You don't have to set it
to nothing along the way/in between.

If you want to set it to nothing at the end, you can, but when it hits End
Sub, it will be set to nothing by VBA anyway. (if I recall correctly that it
is local to that procedure).

--
Regards,
Tom Ogilvy

"Matt Jensen" wrote in message
...
Thanks Tom
Pertaining to that checkbox naming code you helped me with yesterday:

snippet

dim cb as OLEObject
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _

I reuse / redfine this cb variable/object several times in one procedure,
should I set it to nothing before each I use it again or just at the end

of
the proc?

Thanks
Matt

"Tom Ogilvy" wrote in message
...
integers can't be set to nothing. They are initialized to a value of

zero.

You shouldn't have to worry about any type of local variable because

they
go
out of scope and are destroyed when the code in which they are defined

stops
running.

No variables have a default value of Null, so you shouldn't use that.

Only objects can be set to Nothing

Dynamic arrays can be erased

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
As good programming practice, what of the possible variable types

should
be
set to nothing or null?
Can /should you set integers to nothing for example?
Thanks
Matt









Bob Phillips[_6_]

Setting variables to Nothing
 
Matt,

No need to keep re-setting to Nothing. It is the same variable, and it can
only have one value at any one time.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Matt Jensen" wrote in message
...
Thanks Tom
Pertaining to that checkbox naming code you helped me with yesterday:

snippet

dim cb as OLEObject
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _

I reuse / redfine this cb variable/object several times in one procedure,
should I set it to nothing before each I use it again or just at the end

of
the proc?

Thanks
Matt

"Tom Ogilvy" wrote in message
...
integers can't be set to nothing. They are initialized to a value of

zero.

You shouldn't have to worry about any type of local variable because

they
go
out of scope and are destroyed when the code in which they are defined

stops
running.

No variables have a default value of Null, so you shouldn't use that.

Only objects can be set to Nothing

Dynamic arrays can be erased

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
As good programming practice, what of the possible variable types

should
be
set to nothing or null?
Can /should you set integers to nothing for example?
Thanks
Matt









Dave Peterson[_5_]

Setting variables to Nothing
 
If you're re-using that object variable for something that may not exist, it
might be better to set it to nothing to re-initialize it.

For example, I put a single checkbox on the activeworksheet:

Option Explicit

Sub Macro1()
Dim myCBX As MSForms.CheckBox

Set myCBX = ActiveSheet.CheckBox1

Set myCBX = Nothing '<-- try commenting this line
On Error Resume Next
Set myCBX = ActiveSheet.checkbox2
On Error GoTo 0

If myCBX Is Nothing Then
MsgBox "not there"
Else
MsgBox myCBX.Caption
End If

End Sub

Try it once with the line commented and once without the line being commented.

====
If you know the object exists, then you don't need this (as both Tom and Bob
wrote), but ....



Matt Jensen wrote:

Thanks Tom
Pertaining to that checkbox naming code you helped me with yesterday:

snippet

dim cb as OLEObject
Set cb = ws.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _

I reuse / redfine this cb variable/object several times in one procedure,
should I set it to nothing before each I use it again or just at the end of
the proc?

Thanks
Matt

"Tom Ogilvy" wrote in message
...
integers can't be set to nothing. They are initialized to a value of

zero.

You shouldn't have to worry about any type of local variable because they

go
out of scope and are destroyed when the code in which they are defined

stops
running.

No variables have a default value of Null, so you shouldn't use that.

Only objects can be set to Nothing

Dynamic arrays can be erased

--
Regards,
Tom Ogilvy


"Matt Jensen" wrote in message
...
As good programming practice, what of the possible variable types should

be
set to nothing or null?
Can /should you set integers to nothing for example?
Thanks
Matt





--

Dave Peterson


All times are GMT +1. The time now is 08:33 AM.

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