этот сайт очень помог мне заставить мой код работать, и я почти закончил, но я изо всех сил пытаюсь вернуть значения диапазона, если условие не выполнено.в основном, если сравниваемое значение, если оно не совпадает, копирует его, плюс пять ячеек справа и вставляет следующую доступную строку в диапазон выходного листа, начиная с H2.у меня есть первая часть кода, но я действительно в недоумении.Я старался изо всех сил, чтобы поставить код в правильном порядке.нужно ли повторять «Для каждого»?
Dim WS1 As Worksheet: Set WS1 = ThisWorkbook.Sheets("Increments")
Dim WS2 As Worksheet: Set WS2 = ThisWorkbook.Sheets("Output")
Dim LR1 As Long, LR2 As Long, WS1_Cell As Range, WS2_Cell As Range
LR1 = WS1.Range("S" & WS1.Rows.Count).End(xlUp).Row
LR2 = WS2.Range("H" & WS2.Rows.Count).End(xlUp).Row
For Each WS1_Cell In WS1.Range("S1:S" & LR1)
For Each WS2_Cell In WS2.Range("H1:H" & LR2)
If WS1_Cell = WS2_Cell Then
WS2_Cell.Offset(, 5).Value = WS1_Cell.Offset(, 5).Value
Else
WS2_Cell.Offset(1, 1).Value = WS1_Cell.Offset(1, 1).Value
End If
Next WS2_Cell
Next WS1_Cell
, например, если s2 на листе 1 не равно ни одному из значений в диапазоне h2: H100 на листе 2, то скопируйте диапазон s2: x2 и вставьте в первую доступную ячейкуниже последней строки в H на листе 2