Function RetrieveNumbers(myString As String) As String Set objRegExp = CreateObject("VBScript.RegExp") objRegExp.Pattern = "\d{3}-\d{2}" objRegExp.IgnoreCase = True If objRegExp.Test(myString) Then RetrieveNumbers = objRegExp.Execute(myString).Item(0) Else RetrieveNumbers = "-" End If End Function
[/vba]
Функция [vba]
Код
Function RetrieveNumbers(myString As String) As String Set objRegExp = CreateObject("VBScript.RegExp") objRegExp.Pattern = "\d{3}-\d{2}" objRegExp.IgnoreCase = True If objRegExp.Test(myString) Then RetrieveNumbers = objRegExp.Execute(myString).Item(0) Else RetrieveNumbers = "-" End If End Function
Function RetrieveNumbers(myString As String) Dim i As Integer, j As Integer Dim OnlyNums As String For i = Len(myString) To 1 Step -1 If IsNumeric(Mid(myString, i, 1)) Then j = j + 1 OnlyNums = Mid(myString, i, 1) & OnlyNums End If Next i If Len(OnlyNums) = 5 Then OnlyNums = Left(OnlyNums, 3) & "-" & Right(OnlyNums, 2) Else OnlyNums = Left(OnlyNums, 4) & "-" & Right(OnlyNums, 2) End If RetrieveNumbers = OnlyNums End Function
[/vba]
Задача решена. Подсказали решение. В моем случае почти работает. В остальных где числа более длинные не уверен что будет работать.
Задача решена:
[vba]
Код
Function RetrieveNumbers(myString As String) Dim i As Integer, j As Integer Dim OnlyNums As String For i = Len(myString) To 1 Step -1 If IsNumeric(Mid(myString, i, 1)) Then j = j + 1 OnlyNums = Mid(myString, i, 1) & OnlyNums End If Next i If Len(OnlyNums) = 5 Then OnlyNums = Left(OnlyNums, 3) & "-" & Right(OnlyNums, 2) Else OnlyNums = Left(OnlyNums, 4) & "-" & Right(OnlyNums, 2) End If RetrieveNumbers = OnlyNums End Function
[/vba]
Задача решена. Подсказали решение. В моем случае почти работает. В остальных где числа более длинные не уверен что будет работать.BobbyJo
там просто 2 примера. Извиняюсь надо было более разные примеры привести. в файле, в конце списка, можете увидеть что есть и ХХХХ-ХХ "Durobor_Vigneron-1922-38-rouge"
там просто 2 примера. Извиняюсь надо было более разные примеры привести. в файле, в конце списка, можете увидеть что есть и ХХХХ-ХХ "Durobor_Vigneron-1922-38-rouge"BobbyJo
Ура, работает! Спасибо! Пользуясь возможностью спрошу еще: А если например у меня будет не ХХХХ-ХХ артикул, а ХХХ-ХХХХ или ХХХХХ-ХХ. Что я должен буду менять в этой строке?
Ура, работает! Спасибо! Пользуясь возможностью спрошу еще: А если например у меня будет не ХХХХ-ХХ артикул, а ХХХ-ХХХХ или ХХХХХ-ХХ. Что я должен буду менять в этой строке?BobbyJo