我有一个Excel工作表(“所有文档”),它是从SharePoint列表中填充的,但也有一些包含公式的列。我在同一工作簿(“原始”)中有另一个工作表,其中包含列表项的原始值。我需要比较两个工作表,如果“原始”中A列中的“所有文档”中的A列中的值不存在,则需要将该行复制到“原始”表。它必须作为值粘贴。我搜索了许多论坛并尝试了许多建议但没有成功。这是我最近的尝试。任何帮助将不胜感激!
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
答案 0 :(得分:0)
三件事,
要设置您需要的范围:
Set TargetRange = Worksheets("Original").Rows(y + 1)
检查工作表是否为"Original"1
或"Original"
改进通过以下方式复制您的值:
Worksheets("Original").Rows(y + 1).Value = _
Worksheets("All Documents").Rows(a).Value