Код получил порядок поиска и выполняет следующие действия:
Он принимает каждое значение в ws.range A и ищет его на другом листе с именем wp.range A. Если определенное значениеx в ws.range, например, A3 не найден в wp.range A, следующий порядок поиска на листе "ws" - это значение y в следующем диапазоне B3 (та же строка, что и значение x), которое нужно найти на листе "wp" ввесь диапазон B. Если нет, то считается, что следующее значение в диапазоне C (лист ws) находится на другом листе wp в столбце C.
Теперь, если значения в диапазоне A и затем в диапазоне Bне найдено, то значения не только в диапазоне C, но и в диапазоне C и D вместе взяты для сравнения.Но код:
Set foundValue = wp.Sheets("ABC").Range(Cells(ru, I + 1),
Cells(number_of_ru, I + 1)).Find(cell.Offset(0, I).Value) And
wp.Sheets("ABC").Range(Cells(ru, I + 2),
Cells(number_of_ru, I + 2)).Find(cell.Offset(0, I + 1).Value)
выдает мне сообщение об ошибке: "несовместимый тип"
Dim cell As Range
r = 2
number_of_r = 30
ru = 1
number_of_ru = 30
For Each cell In ws.Range("A" & r & ":A" & number_of_r)
For I = 0 To 2 'Column Offset form A to C
Set foundValue = wp.Sheets("ABC").Range(Cells(ru, I +
1), Cells(number_of_ru, I + 1)).Find(cell.Offset(0, I).Value)
If Not foundValue Is Nothing Then
wp.Sheets("ABC").Rows(foundValue.Row).Columns("E:AB").Copy
ws.Range("G" & cell.Row).PasteSpecial
GoTo nextCell
End If
Next I
Set foundValue = wp.Sheets("ABC").Range(Cells(ru, I + 1),
Cells(number_of_ru, I + 1)).Find(cell.Offset(0, I).Value) And
wp.Sheets("ABC").Range(Cells(ru, I + 2), Cells(number_of_ru, I +
2)).Find(cell.Offset(0, I + 1).Value)
If Not foundValue Is Nothing Then
wp.Sheets("ABC").Rows(foundValue.Row).Columns("E:AB").Copy
ws.Range("G" & cell.Row).PasteSpecial
GoTo nextCell
Else: MsgBox "Problem"
End If
nextCell:
Next cell
End sub