Сопоставление элементов столбца с другим столбцом в Excel VBA - PullRequest
0 голосов
/ 30 апреля 2018

Я новичок в VBA. У меня есть два столбца с именами «Код» и «Имя», например, на листе с именем Лист1

Spreadsheet

Что я хочу сделать, так это чтобы каждая ячейка «Код» сравнивалась с каждой ячейкой «Имя», а затем, если некоторые части в последовательности совпадают, то в отдельном столбце «Совпадение» (как указано выше) должно отображаться «да». или «нет», кроме столбца «Код». Например, сначала «Wreakhavoc» в столбце «Code» проверяется с помощью столбца «Name», затем видно, что Wreakhavoc и «Reak» имеют совпадение (некоторые части обоих слов совпадают последовательно), а затем столбец «Match» отображать да, поскольку есть некоторое совпадение в последовательности.

1 Ответ

0 голосов
/ 30 апреля 2018

Вы можете попробовать это:

Sub Main()
    Dim cell As Range, f As Range

    With Range("A3", Cells(Rows.Count, 1).End(xlUp))
        For Each cell In Range("E3", Cells(Rows.Count, 5).End(xlUp))
            Set f = .Find(what:=cell.Value2, lookat:=xlPart, LookIn:=xlValues, MatchCase:=False)
            If Not f Is Nothing Then Cells(f.Row, 3).Value2 = "yes"
        Next
        If WorksheetFunction.CountBlank(.Offset(, 2)) > 0 Then .Offset(, 2).SpecialCells(xlCellTypeBlanks).Value = "No"
    End With
End Sub

где я предположил, что коды находятся в столбце A (индекс столбца = 1), соответствует в столбце C (индекс столбца = 3) и имена в столбец E (индекс столбца = 5).

В противном случае измените имена столбцов и индексы в соответствии с вашими потребностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...