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
Y2KingswoodAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
ShauliConnect With a Mentor 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
 
ShauliConnect With a Mentor 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
 
Y2KingswoodAuthor 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
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
ShauliCommented:
Try my solution. It does exactly that.

S
0
 
Y2KingswoodAuthor 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
 
JR2003Commented:
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.

All Courses

From novice to tech pro — start learning today.