Страницы: 1
RSS
VBA - извлечь из текста
 
Имеется переменная ааа = "Текст1", ааа = "Текст21" и т.д.  
Подскажите пожалуйста, как из этой переменной получить 1 и 21.  
Где-то вроде и встречал, но не могу вспомнить и найти.  
Можно в эту переменную, можно в другую.
 
3+1 :)  
 
 
Function GetNumeric(t As Range)  
Dim j As Integer, l As String  
For j = 1 To Len(t)  
If IsNumeric(Mid(t, j, 1)) Then l = l & Mid(t, j, 1)  
Next j  
GetNumeric = Val(l)  
End Function  
 
 
Public Function ExtractNumber(S As String)  
Dim i As Integer, str As String  
For i = 1 To Len(S)  
If InStr(1, "1234567890,", Mid(S, i, 1)) <> 0 Then str = str & Mid(S, i, 1)  
Next  
ExtractNumber = str  
End Function  
 
 
Function NumbersOnly(srcStr As String) As String  
Dim objRegEx As Object  
Set objRegEx = CreateObject("VBScript.RegExp")  
   With objRegEx  
       .Global = True  
       .Pattern = "[^0-9,]" '"\D"
       NumbersOnly = .Replace(srcStr, vbNullString)  
   End With  
Set objRegEx = Nothing  
End Function  
 
Function FindDigits(ByVal Txt$, ByVal DigitsCount%) As String  
   ' ищет в строке txt$ подстроку цифр длиной DigitsCount%  
   Dim RegExp As Object  
   Set RegExp = CreateObject("VBScript.RegExp"): RegExp.Global = True  
   RegExp.Pattern = "[\D]": Txt$ = " " & RegExp.Replace(Txt$, " ") & " "
   RegExp.Pattern = " [\d]{" & DigitsCount% & "} "
   If RegExp.test(Txt$) Then FindDigits = Trim$(RegExp.Execute(Txt$)(0).Value)  
End Function
 
Первая меня смутила ((t As Range))  
Третья насторожила  
Четвертая ввела в ступор  
 
Но вторую запустил!  
Премного благодарен!
 
Увы, "Текст10", "Текст20", "Текст30", и т.д. тоже существует.
Страницы: 1
Читают тему
Loading...