As far as I know your way is the best way. But why cant you have a loop? Is there any reason why you couldn't just do:

Code:
Private Sub Form_Load()
MsgBox Repeat(10, "Me")
End Sub

Public Function Repeat(ByVal Repetitions As Integer, ByVal Str As String)
Dim i As Integer
For i = 1 To Repetitions
    Repeat = Repeat & Str
Next
End Function