У меня есть рабочий лист Excel («Все документы»), который заполняется из списка SharePoint, но также содержит несколько столбцов, содержащих формулы. У меня есть другой рабочий лист в той же книге («Оригинал»), которая содержит исходные значения элементов списка. Мне нужно сравнить два листа, и если значение в столбце A в «Все документы» не существует в столбце A в «Оригинале», ему необходимо скопировать строку на «Оригинальный» лист. Он должен быть вставлен как значения. Я искал много форумов и пробовал много предложений, но никто не работал. Это моя последняя попытка. Любая помощь будет оценена!Скопируйте строку из таблицы excel в другую, если нет соответствия
Dim x As Long, y As Long, a As Long
Dim b As String
Dim rFound As Range
Dim TargetRange As Range
x = Worksheets("All Documents").Range("A" & Rows.Count).End(xlUp).Row
For a = 2 To x
y = Worksheets("Original").Range("A" & Rows.Count).End(xlUp).Row
b = Worksheets("All Documents").Range("A" & a)
If a > y Then Exit For
With Worksheets("Original").Range("A:A")
Set rFound = .Find(b, LookIn:=xlValues)
If rFound Is Nothing Then
TargetRange = Worksheets("Original"1).Cells(Worksheets("Original").Rows(y + 1))
Worksheets("All Documents").Rows(a).Copy
TargetRange.PasteSpecial xlPasteValues
End If
End With
Next a
Что не работает о вашем коде? – LostLin
Единственное, что сразу привлекло мое внимание, это «TargetRange = Worksheets (« Original »1) ...« Должно быть «Set TargetRange = Worksheets (« Original »1) ....' Rest as @CAPSLOCK, упомянутый, давайте знаете, какая часть кода не работает. –