Thread: "Dim" query
View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default "Dim" query

The variable is a variant when you finish the declaration and before you
assigned anything to it.

But as soon as you assign a string to it, you'll see:
Variant/String

If you assign a number to it, you'll see something like:
Variant/Integer
Variant/Long
Variant/Double
....
Depending on what your number was.

When you declare the subroutine
Sub FindTempPrepPath(xxxx) 'xxxx is a variant since you didn't specify it

Then xxxx is essentially another variable already in the subroutine. But it
doesn't have anything to do with the dimmed variable from before.

When you're in the watch window, look at the Context column. This shows the
scope of the variable. (What it belongs to.)





Ian wrote:

I've recently discovered the Locals window in Excel VBE thanks to a pointer
in this forum, but I have a question about the way variables are displayed
there.

I have a string variable sTPPath. If I do not dimension it, it appears as
Variant/Empty.
If I dimension it as a string it appears as String.
The variable is then populated with a folder path.

OK so far.

This variable is then passed to another routine uisng:
Call FindTempPrepPath(sTPPath)

Once in this routine sTPPath appears as Variant/String.

Is this a problem, as I run into problems if I then try to dimension the
variable in the sub-routine (duplicate declaration in current scope) as I
would expect..

Why does this appear as Variant/String rather than String? It's almost as if
the subroutine doesn't recognise the previous Dim statement.

Ian


--

Dave Peterson