Новости:

Форум на данный момент в стадии обновления. Если у Вас возникли проблемы со входом в свою учетную запись - просьба писать на email: info@excel-vba.ru

Главное меню

Символы замещения

Автор _Sergey_, 26.08.2016, 16:17:15

« назад - далее »

Perfect2You

Глянул в данные - правее только цифры и спецсимволы без букв. Вполне можно просто искать с другой стороны, т.е. не InStr, а InStrRev, тогда он будет находить самое правое вхождение 2 символов.
Проблему вывода произвольного третьего символа решает ранее предложенное.
У меня почему-то решительно отказался работать select case в предложенном в коде виде. Зато вполне работает вот так:
        ls = InStrRev(mat, "ОФ") 'Буквенных кодов 7 как и Case
        If ls Then mat = Mid(mat, ls, 3) & " " & kodmat: GoTo NxtStp    ' Здесь и планирую получить ОФ2 70 ну или по списку
        ' Идея такова "ОФ любой символ " & "70"
        ls = InStrRev(mat, "ЦО", vbTextCompare) '
        If ls Then mat = "ЦО " & kodmat: GoTo NxtStp ' если здесь тоже третий символ нужен - просто скопировать строку кода предыдущего выбора
        ls = InStrRev(mat, "КГ", vbTextCompare)
        If ls Then mat = "КГ " & kodmat: GoTo NxtStp
        ls = InStrRev(mat, "КМ", vbTextCompare)
        If ls Then mat = "КМ " & kodmat: GoTo NxtStp
        ls = InStrRev(mat, "МО", vbTextCompare)
        If ls Then mat = "МО " & kodmat: GoTo NxtStp
        ls = InStrRev(mat, "ЦД", vbTextCompare)
        If ls Then mat = "ЦД " & kodmat: GoTo NxtStp
        ls = InStrRev(mat, "КД", vbTextCompare)
        If ls Then mat = "КД " & kodmat: GoTo NxtStp
NxtStp:

sv2015

добрый вечер,не нашел файл-примера,как вариант вытягивания фрагмента из первого сообщения, функция uuu в C1

Function uuu$(t$)
  Dim t1$
With CreateObject("VBScript.RegExp"): .Pattern = "[а-яё]+\d+": .IgnoreCase = True
   t1 = .Execute(t)(0): .Pattern = "\(\d+"
 uuu = t1 & Chr(32) & Mid(.Execute(t)(0), 2)
End With
End Function

Яндекс.Метрика Рейтинг@Mail.ru