Defining variables

  • Thread starter Thread starter Pawan
  • Start date Start date
P

Pawan

Hi

I have few variables which have default value of 0. This value will change
during macro execution. Is there any way to declare 0 value to these
variables while defining those at the beginning of the code? Means when we
define variable as Dim cnt as integer, can I define 0 value there itself?

Thank You
 
Hi,

When you dim your variable by default it is set as nothing which for an
integer variable is the same as zero which can be demonstrated with this bit
of code

Dim cnt As Integer
MsgBox cnt + 10

If you try this you will find the message box displays 10 so cnt was zero

Mike
 
This is correct. Here by 0 I want to say any value. Means suppose if I want
to assign default value of 2 (or any other value) to my variable, then is
there any way to assign it when we declare the variable? We can assign it in
separate statement like cnt = 2, but I want to assign it I at the same time
we declare the variable.

Thank You
 
AFAIK there's no way to do that in a single line, you must dim your variable
and can then define a value for it

Dim cnt As Integer
cnt = 6

Mike
 
Ok. Thanks Mike

Mike H said:
AFAIK there's no way to do that in a single line, you must dim your variable
and can then define a value for it

Dim cnt As Integer
cnt = 6

Mike
 
The only way that you can combine a dim and non-empty value is declaring an
optional parameter within a routine ie Optional 'variable' as integer = 3.

It would be a nice feature if it combined into a standalone Dim statement

Good luck
 
You can put two logical lines on a single physical line like this:

Dim myConst as Long: myConst = 12

Personally, I would find this more difficult to read. (Maybe it's just me.)
 
It is not just you... I find that hard to read also. Plus, you are not
really saving anything significant be doing it this way either... it is
still two separate statements.
 
Actually, when the code is simple, I do use multiple logical lines on a single
physical line:

Select case something
case is = aaa : somethingelse = 5
case is = bbb : somethingelse = 6
case is = ccc : somethingelse = 7
case is = ddd : somethingelse = 8
End select

But, again, it's a personal preference.
 
Yes, I think I remember you posting code like that in the past... I didn't
find it easy to read either.<g>

Just for accuracy sake, the VB editor will not allow you to space the colon
away from the statement in front of it like you show.... the editor will
move the colon so that it is adjacent to the statement in front of it which
is one of the things that make these kinds of code lines hard to read in my
opinion.
 
Actually, the VBE will allow me to enter it that way--it just won't keep it that
way.

I left the additional spaces for readability in the newsgroup post.



Rick said:
Yes, I think I remember you posting code like that in the past... I didn't
find it easy to read either.<g>

Just for accuracy sake, the VB editor will not allow you to space the colon
away from the statement in front of it like you show.... the editor will
move the colon so that it is adjacent to the statement in front of it which
is one of the things that make these kinds of code lines hard to read in my
opinion.
 
I left the additional spaces for readability

That proves the point. It isn't that easy on the eye.

RBS
 
Actually, I find this code:

Select Case something
Case Is = aaa: somethingelse = 5
Case Is = bbb: somethingelse = 6
Case Is = ccc: somethingelse = 7
Case Is = ddd: somethingelse = 8
End Select

easier on the eye than:

Select Case something
Case Is = aaa
somethingelse = 5
Case Is = bbb
somethingelse = 6
Case Is = ccc
somethingelse = 7
Case Is = ddd
somethingelse = 8
End Select



RB said:
I left the additional spaces for readability

That proves the point. It isn't that easy on the eye.

RBS
 
Yes, that doesn't look bad actually.
Then again there are situations where it definitely looks bad and maybe it
is best
for consistency to never use it then.
All a matter of taste.

RBS
 
For the most part, I agree with you. Well, except for the parts that I don't
<vbg>.

(Lack of consistency doesn't bother me that much.)

RB said:
Yes, that doesn't look bad actually.
Then again there are situations where it definitely looks bad and maybe it
is best
for consistency to never use it then.
All a matter of taste.

RBS
 
Back
Top