【发布时间】:2013-04-04 20:02:55
【问题描述】:
我有一个从 SharePoint 列表填充的 Excel 工作表(“所有文档”),但也有一些包含公式的列。我在同一个工作簿(“原始”)中有另一个工作表,其中包含列表项的原始值。我需要比较这两个工作表,如果“所有文档”中的 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
【问题讨论】:
-
您的代码有什么问题?
-
立即引起我注意的是这个
TargetRange = Worksheets("Original"1)...应该是Set TargetRange = Worksheets("Original"1)....就像@CAPSLOCK 提到的那样休息,让我们知道代码的哪一部分不起作用。