What's wrong with my code? Thanks

G

Guest

I'm using the following macro to format phone numbers from "1234567890" to
"123-456-7890". While this works fine on single cells when I try it on a list
it deletes the numbers and inserts the dashes "--".
What is wrong with this? Thanks.

Sub InsertDashes()
Set r = Selection
v = r.Text
v = Left(v, 3) & "-" & Mid(v, 4, 3) & "-" & Right(v, 4)
r.Value = v
End Sub
 
B

Bob Phillips

Keeping your style of code

Sub InsertDashes()
Dim cell as Range
Set r = Selection
For Each cell In r
v = cell.Text
v = Left(v, 3) & "-" & Mid(v, 4, 3) & "-" & Right(v, 4)
cell.Value = v
Next cell
End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
G

Guest

Ahhhh--that darn "Dim cell as Range" trick. That gets me every time.
Works like a charm. Thanks, Bob!
Regards,
Exceller
 
N

Norman Jones

Hi Exceller,
Ahhhh--that darn "Dim cell as Range" trick. That gets me every time.
Works like a charm. Thanks, Bob!

Also note Bob's For Each .. Next loop.
 

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