如果通过比较不同工作表中的两列找到匹配项,则覆盖现有记录

时间:2018-09-24 03:09:48

标签: excel excel-vba

*编辑 我改变并改善了我的问题。我的工作簿中有两个工作表。

主表

  C        D    E
  Apple   100    No
  Banana  85    Yes
  Lemon   11    Yes
  Kiwi    165    No

更新表

  C        D    E
  Apple    34   Yes
  Kiwi    165   Yes

我想从更新表更新主表中的记录,所以更新后,主表中的记录将如下所示

主表

  C        D    E
  Apple   34    Yes
  Banana  85    Yes
  Lemon   11    Yes
  Kiwi    165   Yes

例如,将基于“母版”和“更新”表中的C列进行比较,如果找到匹配项,它将覆盖“母版”表中的整个行。我已经编写了一部分代码,而且似乎陷入了如何覆盖整行的问题。

Sub fruitUpdate()

Dim rangeUpdt, rangeMstr As Range

Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("Master")
Set ws2 = Worksheets("Fruit Update")

On Error Resume Next
With ws1
    Set rangeMstr = .Range("C4", .Range("C" & Rows.Count).End(xlUp)) 'records start at C4
End With
With ws2
    Set rangeUpdt = .Range("C10", .Range("C" & Rows.Count).End(xlUp)) 'records start at C10
End With
    If rangeMstr = rangeUpdt Then
    'overwrite, copy to masterlist (here's the part that I stuck)
    End If
End Sub

我想通过使用excel vba实现它。我考虑使用copy.Destination方法,但我认为它将代替新数据插入或覆盖它。我是VBA的新手,非常感谢您的帮助。谢谢。

0 个答案:

没有答案