0

我有一个从 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
4

1 回答 1

0

三件事,

  1. 要设置范围,您需要:

    Set TargetRange = Worksheets("Original").Rows(y + 1)
    
  2. 检查工作表是否已"Original"1更换"Original"

  3. 并通过以下方式改进复制您的价值观:

    Worksheets("Original").Rows(y + 1).Value = _
      Worksheets("All Documents").Rows(a).Value
    
于 2013-04-05T10:53:50.850 回答