Мне просто нужно иметь возможность совпадать, если идентификаторы в столбце «А» листа 1 совпадают в соответствующем столбце «А» листа 2, и просто вставить совпадения в столбец «А» на листе 3. Диапазон столбцов на листе 1 не совпадает с диапазоном столбца 2, и на листе 3 должны быть вставлены совпадения в каждую строку по мере их обнаружения (т.е. между ними не должно быть пустых строк). Мне не нужно ничего делать с номерами, которые не совпадают.
Я попытался изменить код из другого потока. Ловит несколько совпадений, но не все. Я предполагаю, что диапазоны неверны, но я не знаю, как кодировать это в VBA. Кроме того, в колонке есть пробелы, в которых должны быть размещены некоторые другие дубликаты. «Если найдено ничего, тогда x = 0» не является необходимым (и может даже вызывать вышеупомянутую ошибку), но если я это устраню, я получу ошибку несоответствия типов.
Sub matchPAs()
Dim x, i, total, fRow As Integer
Dim found As Range
total = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To total
match1 = Worksheets(1).Range("A" & i).Value
Set found = Sheets(2).Columns("A:A").Find(what:=match1)
If found Is Nothing Then
x = 0
Else
fRow = Sheets(2).Columns("A:A").Find(what:=match1).Row
Worksheets(3).Range("A" & i).Value = Worksheets(1).Range("A" & fRow).Value
End If
Next i
End Sub