Скопируйте всю строку от одного листа до другого основанного на отдельном слове, в рамках абзаца, в ячейке

Я надеюсь копировать строку от одного листа до другого основанного на наличии определенного слова в ячейке. У меня есть лист один, названный "данными" и листом два названных "финал".

Вот пример данных

A         B            C               D  
john      mary         555.555.4939    initial reply to phone conversation  
Jim       jack         555.555.5555    floor estimate for bathroom  
jerry     kim          555.555.5553    initial response to phone call

Я хотел бы скопировать всю строку с листа "данные" к листу "финал", если данные в столбце D содержат или слово "ответ" или слово "ответ".

5
задан Community 6 May 2019 в 08:43
поделиться

1 ответ

Это должно работать

Sub Foo()

Dim i As Long, iMatches As Long
Dim aTokens() As String: aTokens = Split("reply,response", ",")

For Each cell In Sheets("data").Range("D:D")

    If (Len(cell.Value) = 0) Then Exit For

    For i = 0 To UBound(aTokens)
        If InStr(1, cell.Value, aTokens(i), vbTextCompare) Then
            iMatches = (iMatches + 1)
            Sheets("data").Rows(cell.Row).Copy Sheets("final").Rows(iMatches)
        End If
    Next

Next

End Sub
6
ответ дан 14 December 2019 в 13:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: