If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > PC based Database Applications > Microsoft Excel > number to string

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 10-13-09, 15:11
clinel clinel is offline
Registered User
 
Join Date: Oct 2002
Location: Western part of Georgia, USA
Posts: 122
number to string

Thanks in advance!
I am attempting to write a VBA routine that takes the Left and Right from and in between insert a value that happens to be numeric. It needs to be 3 characters long with leading 0 (zero's); one or two depending on the length of the number (001, 002, 010, 011, etc.). I had hoped to have the user insert the numeric value in a prompt and then have the job loop through the column and complete the insert. The issue I am having is that no matter what I have done to try to convert the variable to string, the leading 0's are dropped. I have tried

Dim LineNum as string

LineNum = Str$(Right("00000" & CStr(LineNum), 3)) (type mismatch
LineNum = Str$(Right(00000 & CStr(LineNum), 3)) outputs the interger value with no leading 0's.

I have tried inputting 001 in the like so
LineNum = Str$(InputBox("Enter line number"))
then looping with
Range("H" & rowHdr).Formula = "=Left(B" & rowHdr & ",13)& " & CStr(LineNum) & "& Right(B" & rowHdr & ",4)"

Is there a way to get the leading 0's in the formula?
Thanks,
Lee
Reply With Quote
  #2 (permalink)  
Old 10-14-09, 09:22
MikeTheBike MikeTheBike is online now
Registered User
 
Join Date: Apr 2004
Location: Derbyshire, UK
Posts: 692
Quote:
Originally Posted by clinel
Thanks in advance!
I am attempting to write a VBA routine that takes the Left and Right from and in between insert a value that happens to be numeric. It needs to be 3 characters long with leading 0 (zero's); one or two depending on the length of the number (001, 002, 010, 011, etc.). I had hoped to have the user insert the numeric value in a prompt and then have the job loop through the column and complete the insert. The issue I am having is that no matter what I have done to try to convert the variable to string, the leading 0's are dropped. I have tried

Dim LineNum as string

LineNum = Str$(Right("00000" & CStr(LineNum), 3)) (type mismatch
LineNum = Str$(Right(00000 & CStr(LineNum), 3)) outputs the interger value with no leading 0's.

I have tried inputting 001 in the like so
LineNum = Str$(InputBox("Enter line number"))
then looping with
Range("H" & rowHdr).Formula = "=Left(B" & rowHdr & ",13) & " & CStr(LineNum) & "& Right(B" & rowHdr & ",4)"

Is there a way to get the leading 0's in the formula?
Thanks,
Lee
Hi

I am quite confused as to what you are trying to do, but have tried this

Range("H" & rowHdr).Formula = "=Left(B" & rowHdr & ",13)& " & Format(LineNum,000) & "& Right(B" & rowHdr & ",4)"

Just a thought!


MTB
Reply With Quote
  #3 (permalink)  
Old 10-14-09, 18:04
clinel clinel is offline
Registered User
 
Join Date: Oct 2002
Location: Western part of Georgia, USA
Posts: 122
Thanks for the reply!

I have a column that represents pieces of equiment with a standard format that is structured like ABCD-ABC-DEF-001-XYZ. Only the first 4 characters are constant. Characters 5 - 10 are specfic types of equipment and the numberic value represents a specfic manchine number. I have a core group for line 1. I had hoped to create vba that allowed me to give a beginning and ending machine number and have it copy and insert the correct line number. I think I have the loop created, I just need to insert the leading 0's for the other machines (-002-, -003-, -010, etc). I did try you suggestion and got the same results -2-, -3-, -4-, etc. I tried it 2 ways Format(lineNum, 000) and Format(lineNum,"000").
Reply With Quote
  #4 (permalink)  
Old 10-15-09, 04:35
MikeTheBike MikeTheBike is online now
Registered User
 
Join Date: Apr 2004
Location: Derbyshire, UK
Posts: 692
Quote:
Originally Posted by clinel
Thanks for the reply!

I have a column that represents pieces of equiment with a standard format that is structured like ABCD-ABC-DEF-001-XYZ. Only the first 4 characters are constant. Characters 5 - 10 are specfic types of equipment and the numberic value represents a specfic manchine number. I have a core group for line 1. I had hoped to create vba that allowed me to give a beginning and ending machine number and have it copy and insert the correct line number. I think I have the loop created, I just need to insert the leading 0's for the other machines (-002-, -003-, -010, etc). I did try you suggestion and got the same results -2-, -3-, -4-, etc. I tried it 2 ways Format(lineNum, 000) and Format(lineNum,"000").
Hi again

Not sure why it dosn't work but this code
Code:
Sub test()
    Dim variable As String
    variable = "2"
    Cells(2, 2) = "Prefix" & Format(variable, " -000- ") & "Sufix"
End Sub
produces this in Cell B2

Prefix -002- Sufix

Try it and see if does the same on your PC

Maybe I'm missing something !!

MTB
Reply With Quote
  #5 (permalink)  
Old 10-15-09, 08:01
clinel clinel is offline
Registered User
 
Join Date: Oct 2002
Location: Western part of Georgia, USA
Posts: 122
Thanks so much! I am not sure why it did not work the first time either, but it is now and that is all that counts! Thannks again!!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On