Public Function EstraiNumeri(STR As String) As Double
'Autore: Carlo Costarella
'Estrae tutti i valori numerici da una stringa
'Esempio: EstraiNumeri("A134B5") restituisce: 1345
Dim Numero As Integer, NCompleto As String, NReale As Double
Dim Pos As Integer, i As Integer, Lung As Integer
'verifico la lunghezza della stringa
Lung = Len(STR)
' inizio un ciclo da 1 alla lunghezza della stringa
For i = 1 To Lung
Pos = i ' il valore della posizione di partenza (il primo carattere della stringa)
'Verifico se il carattere è un numero
If IsNumeric(Mid(STR, i, 1)) Then
'è un numero...allora
Numero = Mid(STR, i, 1)
' la variabile stringa assume il valore della variabile + numero
NCompleto = NCompleto & Numero
End If
Next i 'si sposta al carattere successivo
'trasformo la stringa in numerico precisione doppia
NReale = CDbl(NCompleto)
' assegno il valore alla funzione
EstraiNumeri = NReale
End Function
|