Defining variables

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
 
M

Mike H

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
 
P

Pawan

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
 
M

Mike H

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
 
P

Pawan

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
 
K

K_Macd

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
 
D

Dave Peterson

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.)
 
R

Rick Rothstein

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.
 
D

Dave Peterson

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.
 
R

Rick Rothstein

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.
 
D

Dave Peterson

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.
 
R

RB Smissaert

I left the additional spaces for readability

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

RBS
 
D

Dave Peterson

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
 
R

RB Smissaert

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
 
D

Dave Peterson

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top