You can loop through each character in the string and check to see if it is numeric. this will work for values 0-9. If there are values higher you would need to adjust this to look for multiple digits and not exit once the first one is found.
Public Function GetMyDigit(cell As Range) As Integer
Dim s As String
Dim i As Integer
'get cell value
s = cell.Value
'loop through the entire string
For i = 1 To Len(s)
'check to see if the character is a numeric one
If IsNumeric(Mid(s, i, 1)) = True Then
'set the function to the value and exit
GetMyDigit = Mid(s, i, 1)
Exit Function
End If
Next i
End Function
and if you have multiple digits
Public Function GetMyDigit(cell As Range)
Dim s As String
Dim i As Integer
Dim answer
'get cell value
s = cell.Value
'loop through the entire string
For i = 1 To Len(s)
'check to see if the character is a numeric one
If IsNumeric(Mid(s, i, 1)) = True Then
'set the function to the value and exit
answer = answer & Mid(s, i, 1)
End If
Next i
GetMyDigit = answer
End Function