Страницы: 1
RSS
Поиск слов и фраз в тексте ячейки и отображение через разделитель
 
 Плиз, если кто-нибудь знает как это делается, подсказать. Я делаю это последовательными фильтрациями столбца по каждому слову или фразе. Это очень длительный процесс. В качестве примера таблица в исходном виде и требуемый результат.
 
в Вашем примере не хватает списка тех слов, которые надо искать (марки а/м)
 
желтым - список марок
 
Как-то так (только нельзя, чтобы в Rng пустые ячейки были - проверку на них лень было делать)
Код
Option Explicit
Function tt(Text As String, Rng As Range) As String
Dim arr: arr = Application.WorksheetFunction.Transpose(Rng.Value)
Dim Matches As Object
Dim I As Long
Dim arr1()
With CreateObject("VBScript.Regexp")
    .Global = True
    .IgnoreCase = True
    .Pattern = "(" & Join(arr, "|") & ")"
    If .test(Text) Then
        Set Matches = .Execute(Text)
        With Matches
            ReDim arr1(0 To .Count - 1)
            For I = 0 To .Count - 1
                arr1(I) = .Item(I)
            Next
        End With
        tt = Join(arr1, ",")
    End If
End With
End Function

 
yoozhik отправил Вам сообщение.  
 
МаркД,  UDF от МВТ удобней.  Только диапазон со списком марок фиксировать не забывайте) Все вопросы в личном сообщении уже с использованием UDF не требуют решения)
Изменено: yoozhik - 23.10.2015 15:46:20
 
исходный текст расположен в 4 столбце. где в коде нужно это написать (скорректировать)?
 
МВТ, шаблон, наверное, всё же лучше делать (с учётом латинских названий)
Код
.Pattern = "\b(?:" & Join(arr, "|") & ")\b"
иначе части слов могут попасть в результат.
 
Андрей VG, Вы как всегда правы
Страницы: 1
Наверх