# Add string X times

what im trying to do is have a string added to a string a certian amount of times

this is just an exmple i need to do simlar things, with text strings as well.

for example, The string TestString has to be 5 numbers,
(say the number is 5) add four zeros to the start, (teststring = "00005")
(say the number is 35) add three zeros to the start , (teststring = "00035")
i would like to be able to do somthing like
'            StartVars      Add string "0", 5 - Len((StartCount + ((i * 30) + x))) times & (StartCount + ((i * 30) + x))
Ref(x) = StartCode & Add0times(5 - Len((StartCount + ((i * 30) + x)))) & (StartCount + ((i * 30) + x))

this is part of my code i already have, but it is really chunky for what it does

For x = 0 To 29

If Len((StartCount + ((i * 30) + x))) = 1 Then
Ref(x) = StartCode & "0000" & (StartCount + ((i * 30) + x))
Num(x) = "0000" & (StartCount + ((i * 30) + x))
ElseIf Len((StartCount + ((i * 30) + x))) = 2 Then
Ref(x) = StartCode & "000" & (StartCount + ((i * 30) + x))
Num(x) = "000" & (StartCount + ((i * 30) + x))
ElseIf Len((StartCount + ((i * 30) + x))) = 3 Then
Ref(x) = StartCode & "00" & (StartCount + ((i * 30) + x))
Num(x) = "00" & (StartCount + ((i * 30) + x))
ElseIf Len((StartCount + ((i * 30) + x))) = 4 Then
Ref(x) = StartCode & "0" & (StartCount + ((i * 30) + x))
Num(x) = "0" & (StartCount + ((i * 30) + x))
ElseIf Len((StartCount + ((i * 30) + x))) = 5 Then
Ref(x) = StartCode & (StartCount + ((i * 30) + x))
Num(x) = (StartCount + ((i * 30) + x))
End If

Next
Asked:
###### Who is Participating?

Improve company productivity with a Business Account.Sign Up

x

Commented:
Oh, OK, I see what you mean:

Private Sub Command1_Click()
MsgBox RepeatVar("Hello", 5)
End Sub

Public Function RepeatVar(ByVal fnString As String, fnTimes As Integer) As String
Dim fnLoop As Integer, tmpString As String
For fnLoop = 1 To fnTimes
tmpString = tmpString & fnString
Next fnLoop
RepeatVar = tmpString
End Function

S
0

Commented:
All you have to do is simply to format your string. Try this:

MsgBox Format("5", "00000")

...and

MsgBox Format("35", "00000")

As you can see. That si all. It will format the string with the leading zeros as you wish.

Am I missing something, or is it what you are looking for?

S
0

Author Commented:
it needs kind of be like String\$(length, string) but not just take the first character....

If i have   5 My end value needs to be "00005"
if i have 35 my end value needs to be "00035"
0

Commented:
Try my solution. It does exactly that.

S
0

Author Commented:
which works in this case, i will try a few others,
but just to explain more simply

just say i have a var with a value of 5
and string with the value of "Hello"
i want to be able to end up with "HelloHelloHelloHelloHello"
0

Commented:
Private Function RepeatStringXTimes(sInString, iNumberOfTimes) As String

Dim i as long
For i = 1 to iNumberOfTimes
RepeatStringXTimes = RepeatStringXTimes & sInString
Next i

End Function

To call the function just do this:

sMyString = RepeatStringXTimes ("Hello", 5)
Debug.Print sMyString
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

## Already a member? Login.

All Courses

From novice to tech pro — start learning today.