根据另一对列更新两对列

我在一个工作表中有两组三列。 这延伸到30000行。 示例数据如下:

code Serial Amount code Serial Amount 1111 2346 2000000 2222 5555 300000 2222 4567 4000000 3333 6666 700000 3333 4545 7000000 1111 7777 8000000 1111 8888 550000 1111 9999 600000 

一些第一代码列值在第二代码列中重复,但是以无序方式重复。 我想匹配第二个代码列值到第一个,并根据匹配更新序列金额值。 我能描述逻辑的最好方法是:

 IF (Code(1)==Code(2)) THEN (Amount(1) ==Amount(2) ) and (Serial(1)==Serial(2)) 

正如你在例子代码(2)列中看到的那样,我们有三个重复的1111值,但是在代码(1)列中我们只有一个1111.i想要在第1行中更新串行 数量 ,如果匹配的话其他2个时间不存在任何1111在代码(1)插入序列(2) 量(2) 代码(2)作为一个新的行在序列(1) 量(1) 代码(1)我尝试下面的代码更新唯一代码,但它不能插入重复代码第二和第三1111与它的序列和数量。

 Sub checklist() Dim LastRow As Long With ActiveSheet LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row End With Dim cell As Range For Each cell In Range("a1:a" & LastRow) For Each cell2 In Range("D1:D" & LastRow) If cell.Offset(0, 0) <> "" And cell.Offset(0, 0) = cell2.Offset(0, 0) Then cell2.Offset(0, 0) = cell.Offset(0, 0) cell2.Offset(0, 1) = cell.Offset(0, 1) cell2.Offset(0, 2) = cell.Offset(0, 2) End If Next Next 

结束小组

结果应该如下所示。

 code Serial Amount code Serial Amount 1111 7777 8000000 2222 5555 300000 1111 8888 550000 3333 6666 700000 1111 9999 600000 1111 7777 8000000 2222 5555 300000 1111 8888 550000 3333 6666 700000 1111 9999 600000