在VBA中从字符串末尾获取数字

在VBA中从字符串末尾获取数字,vba,excel,Vba,Excel,如何从字符串的末尾获取数字 例如,如果字符串是24Text147我应该只获取147,或者如果字符串是text12我应该只获取12。 这是我发现的,但它给出了一个字符串中的所有数字 Function onlyDigits(s As String) As String Dim retval As String Dim i As Integer retval = "" '

如何从字符串的末尾获取数字 例如,如果字符串是
24Text147
我应该只获取
147
,或者如果字符串是
text12
我应该只获取
12
。 这是我发现的,但它给出了一个字符串中的所有数字

Function onlyDigits(s As String) As String

    Dim retval As String    
    Dim i As Integer        

    retval = ""
                                     '
    For i = 1 To Len(s)
        If mId(s, i, 1) >= "0" And mId(s, i, 1) <= "9" Then
            retval = retval + mId(s, i, 1)
        End If
    Next
                             '
    onlyDigits = retval
End Function
函数仅将数字(作为字符串)作为字符串
作为字符串的Dim retval
作为整数的Dim i
retval=“”
'
对于i=1到Len(s)
如果mId(s,i,1)>=“0”和mId(s,i,1)另一种方式:

Function onlyDigits(s As String) As String
For i = Len(s) To 1 Step -1
    If IsNumeric(Right(s, i)) Then
    onlyDigits = Right(s, i)
    Exit Sub
    End If
Next
End Function
或者如果是数字(mid(s,i,1)),则为
+1不管怎样,我喜欢
like
Function onlyDigits(s As String) As String
For i = Len(s) To 1 Step -1
    If IsNumeric(Right(s, i)) Then
    onlyDigits = Right(s, i)
    Exit Sub
    End If
Next
End Function