Keith,
If VBA doesn't understand that you want a string, you
could try using CStr instead of Str, CStr is very similar.
It's a conversion function, following is help for CStr
Returns for CStr
If expression is CStr returns
Boolean A string containing True or False
Date A string containing a date in the short date format of your system
Null A run-time error
Empty A zero-length string ("")
Error A string containing the word Error followed by the error number
Other numeric A string containing the number
Dan E
"Keith Lorenzen" wrote in message ...
Thanks so much for the good information. I just can't
understand why it won't work for me. What's interesting
is that any other character seems to return what I expect,
and if I surround the period with spaces I get what I
expect, but I don't want the period surrounded by spaces!
It's pretty late in the day. I'll try again tomorrow.
Thanks also for your info re Str function. What you say
makes sense to me. Originally I had just used the Dim
functions, but when I couldn't get what I wanted, I added
the Str in an attempt to get VBA to understand that I
wanted a string.
Thanks again.
Keith Lorenzen
-----Original Message-----
Works for me. The three strings should concatenate,
including the ".". I
cannot find a problem in what you have posted. BTW, Str()
returns the string
representation of a number, but Mid already returns a
string, as do the
concatenation operators (&). Using Str coerces the string
to a number then
returns the string representation of that number. That's
fine if that is
what you want, but I thought you'd like to know that it
can make a
difference.
compa
Dim v As String
v = "110000000"
Debug.Print Mid(v, 5, 5) & "." & Mid(v, 1, 2)
Debug.Print Str(Mid(v, 5, 5) & "." & Mid(v, 1, 2))
--
Bob Kilmer
"Keith Lorenzen" wrote in
message
...
I have this code which attempts to return parts of a
string, separated by a period:
For Each c In Range(RefEdit1.Value).Cells
c.Value = Str(Mid(c.Value, 5, 5) & "." & Mid
(c.Value,
1, 2))
When I take out the & ".", I get what I expect (the
fifth
through ninth character of the string, followed by the
first two characters of the same string). But when I
have
the & "." in the code (my intention is to have a dot
(period) between the two sections of text), I get only
the
first Mid function returned (characters five through
nine). Can anyone help me with why this is happening?
I
thought that by enclosing my period in double quotes
that
the program would undersand it to mean text, but
apparently it's considering it something else.
Thanks,
Keith Lorenzen
.