Я верю, что это то, что вы собираетесь.Это можно сделать другими способами, но я просто просматриваю ваш метод.
Обратите внимание на важные различия между тем, как мы объявляли переменные.Кроме того, ваш второй набор диапазонов был неверным.Наконец, это было обновлено, чтобы определить последнюю строку из нижней части диапазона вместо верхней.
Sub Compare()
Dim WS1 As Worksheet: Set WS1 = ThisWorkbook.Sheets("Sheet1")
Dim WS2 As Worksheet: Set WS2 = ThisWorkbook.Sheets("SHeet2")
Dim LR1 As Long, LR2 As Long, WS1_Cell As Range, WS2_Cell As Range
LR1 = WS1.Range("A" & WS1.Rows.Count).End(xlUp).Row
LR2 = WS2.Range("A" & WS2.Rows.Count).End(xlUp).Row
For Each WS1_Cell In WS1.Range("A1:A" & LR1)
For Each WS2_Cell In WS2.Range("A1:A" & LR2)
If WS1_Cell = WS2_Cell Then
WS1_Cell.Offset(, 7).Value = WS2_Cell.Offset(, 7).Value
End If
Next WS2_Cell
Next WS1_Cell
End Sub