Если значение не существует в столбце, создайте новую строку - PullRequest
0 голосов
/ 01 июля 2019

У меня есть таблица с 2 столбцами: A и B. Я хотел бы искать в столбце A, если существует значение в столбце B.Если он не существует, я хочу добавить это значение в последнюю строку столбца A, и если он существует, я не хочу ничего делать.Я хочу, чтобы это происходило для каждого значения в столбце B до его конца.Например, если в столбце B есть 3 значения, которых нет в столбце A, я хочу добавить их в виде 3 новых строк в конце столбца A.

Вот пример:

До:

screenshot 1

После:

screenshot 2

Любойидеи?Спасибо

1 Ответ

0 голосов
/ 01 июля 2019

Из ваших фотографий я предполагаю, что это всего лишь лист, поэтому этот код должен работать для вас:

Sub Macro1()

Dim rngA As Range, rngB As Range, MySel As Range, LastRow As Long, ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)

With ws
    LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
    Set rngA = .Range("A1:A" & LastRow)
    Set rngB = .Range("B1", .Range("B" & .Rows.Count).End(xlUp))
End With

For Each cell In rngB
    If IsError(Application.Match(cell.Value, rngA, 0)) Then
        If MySel Is Nothing Then
            Set MySel = cell
        Else
            Set MySel = Union(MySel, cell)
        End If
    End If
Next cell

If Not MySel Is Nothing Then MySel.Copy Destination:=ws.Range("A" & LastRow + 1)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...