2014-11-17 7 views
0

Как я могу получить числовой от конца строки Например, если строка 24Text147 я должен получить 147 только или если строка text12 я должен получить 12 только. Вот что я нашел, но это дает все числовые в строкеПолучение Числовые от конца строки в VBA

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 

ответ

1
Function onlyDigits(s As String) As String 
    Dim retval As String 
    Dim i As Integer 

    retval = "" 
            ' 
    For i = Len(s) To 1 Step -1 
     If Mid(s, i, 1) Like "#" Then 
      retval = Mid(s, i, 1) & retval 
     Else 
      Exit For 
     End If 
    Next 
    onlyDigits = retval 
End Function 
+0

или просто 'если IsNumeric (середина (s, я, 1)) затем'. +1 во всяком случае, мне нравится 'like' –

0

Другой способ:

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 
Смежные вопросы