根据两个工作簿中的匹配数据复制和粘贴数据(多个标准)

时间:2017-07-10 07:51:38

标签: vba excel-vba copy match excel

我对VBA并不熟悉,所以请耐心等待。

现在,我有两个excel文件:

1st Workbook有以下信息:

  1. 单元号(例如EQ-21),
  2. 日期(例如05/09/2017),
  3. 班次(日班,夜班),
  4. 姓氏和
  5. 名字。
  6. 第二工作簿有以下信息:

    1. 单元号(例如EQ-21),
    2. 日期(例如05/09/2017),
    3. 班次(日班,夜班),
    4. 两个工作表都包含一个月的数据(大约20,000个项目),并且需要匹配所有三个(单位号,日期和班次)标准,然后从中复制相应的名称。第一个工作表到第二个工作表。

      我所做的很多事情只是仅基于一个单元格进行匹配,而不是基于这么多数据。朝着正确方向迈出的任何一步都会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个可能有效的想法。 (我没有测试过它)

Set range1 = Sheet1.Range("A1:A1500")
Set range2 = Sheet2.Range("A1:A1500")

For Each cell In range1 
    For Each cell2 In range2
         If cell = cell2 Then
             If Sheet1. Range("B"& cell.Row).value   =  Sheet2.Range("B"& cell2.Row).value   And Sheet1.Range("C"& cell.Row).value  =  Sheet2.Range("C"& cell2.Row).value   Then
                 MsgBox "ok"
                 Sheet2. Range("D"& cell2.Row).Value = Sheet1. Range("D"& cell.Row).Value
             Else
             End if 
         Else
         End if 
    Next cell
Next cell

编辑:

使用此行代替A1500:

Range("A1").Select
start = ActiveCell.Row
Selection.End(xlDown).Select
end = ActiveCell.Row
Set range1 = Sheet1.Range("A1:A"&end)
Set range2 = Sheet2.Range("A1:A"&end)