cosi' ti puo' andare bene?
codice:
Private Function formatNumStringa(prms_Input As String, prml_NumChar As Long, _
Optional prms_FormatChar As String = "0") As String
'#######################################
'# Parametri: #
'# prms_Input: Stringa da formattare #
'# prml_NumChar: Numero dei caratteri per i quali formattare #
'# prms_FormatChar: Carattere usato per formattare #
'# Valore restituito: #
'# stringa che formatta i numeri in maniera che siano sia numericamente #
'# che alfabeticamente ordinati #
'# "10 - Padova Arcella" -> "0000000010 - Padova Arcella #
'#######################################
Dim i As Integer
Dim ls_temp As String
Dim ls_Str000 As String
Dim strDummy As String
ls_Str000 = String$(prml_NumChar, prms_FormatChar)
For i = 1 To Len(prms_Input)
If IsNumeric(Mid$(prms_Input, i, 1)) Then
ls_temp = ls_temp + Trim(Mid$(prms_Input, i, 1))
Else
If ls_temp <> "" Then
strDummy = strDummy + formatNumStringa + Right(ls_Str000 + ls_temp, Len(ls_Str000))
formatNumStringa = ""
ls_temp = ""
End If
formatNumStringa = formatNumStringa + Mid$(prms_Input, i, 1)
End If
Next i
formatNumStringa = strDummy + formatNumStringa + Right(ls_Str000 + ls_temp, Len(ls_Str000))
End Function