Like with virtually everything, which method is fastest depends on the circumstances - in this case including things like the length of the string, how many are likely to be numeric, the possible non-numeric characters, and the source of the string.
As a generic method, this should be fairly fast:
Code:
Dim strOutput as String
Dim lngChar as Long
strOutput = Space(Len(strInput))
For lngChar = 1 To Len(strInput)
Select Case Mid$(strInput,lngChar,1)
Case "0" to "9"
Mid$(strOutput,lngChar,1) = Mid$(strInput,lngChar,1)
End Select
Next lngChar