У меня есть диапазон ячеек с этими строковыми значениями:

A1: text1
A2: text2
A3: text3

И столбец с этими другими строковыми значениями:

B1: text1 text2 sampletext  
B2: text2 text3 sampletext    
B3: text3 sampletext    
B4: text1 sampletext    
B5: text1 sampletext

Я должен проверить, является ли текст в столбце A подстрокой текста в столбце B.
Если да, укажите в столбце C текст из столбца A.

Как это:

C1: text1 text2
C2: text2 text3
C3: text3
C4: text1
C5: text1

1 ответ1

0

Попробуйте следующий небольшой макрос:

Sub BuildList()
    Dim N As Long, M As Long
    Dim i As Long, s1 As String, s2 As String

    N = Cells(Rows.Count, "A").End(xlUp).Row
    M = Cells(Rows.Count, "B").End(xlUp).Row
    ReDim wordlist(1 To N) As String

    For i = 1 To N
        wordlist(i) = Cells(i, 1)
    Next i
    For i = 1 To M
        ary = Split(Cells(i, "B"), " ")
        For j = LBound(ary) To UBound(ary)
            For k = 1 To N
                If wordlist(k) = ary(j) Then
                    Cells(i, "C") = Cells(i, "C") & " " & wordlist(k)
                End If
            Next k
        Next j
    Next i
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .