I've never done it like this, but I do see code that does pretty often. It seems like it would be bad practice, but also that it would be faster and not cause any problems.
Example:
vb Code:
'Example #1
Private Function GenerateString(ByVal Length As Long) As String
Dim l As Long
For l = 1 To Length
GenerateString = GenerateString & Chr$(Int(Rnd * 255) + 1)
Next l
End Function
'Example #2
Private Function GenerateString(ByVal Length As Long) As String
Dim l As Long
GenerateString = Space$(Length)
For l = 1 To Length
Mid$(GenerateString, l, 1) = Chr$(Int(Rnd * 255) + 1)
Next l
End Function
vs.
vb Code:
Private Function GenerateString(ByVal Length As Long) As String
Dim l As Long, strReturn As String
For l = 1 To Length
strReturn = strReturn & Chr$(Int(Rnd * 255) + 1)
Next l
GenerateString = strReturn
End Function