我在一个工作表中有两组三个分组列。这延伸了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
第一个代码列中的某些列值在第二个代码列中重复,但是以无序方式重复。我想将第二个代码列值与第一个匹配,并根据匹配更新 Serial 和 Amount 值。我能描述逻辑的最好方法是:
IF (Code(1)==Code(2))
THEN
(Amount(1) ==Amount(2) )
and
(Serial(1)==Serial(2))
正如您在示例代码(2)列中看到的那样,我们有三个重复的1111值但在代码(1)列中我们只有一个1111.i想要excel在第1行更新串行 金额如果匹配其他2次则不存在代码中的任何1111(1)插入序列(2) ) amount(2) 代码(2)作为 serial(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
End Sub
结果应如下所示。
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