首页 文章

Excel宏以查找列的重复值并复制相邻单元格[关闭]

提问于
浏览
-4

我需要一个循环遍历列的Excel宏(在我的例子中是列E)并找到重复项 . 一旦找到副本,它应该复制第一个重复行的最左边2个单元格并将其粘贴到第二个重复行中 .

这是我所说的具体例子:

这是宏之前的工作表:

A      B      C      D      E
1    A11    B11    C11    D11    Text1
2    A22    B22    C22    D22    Text2
3    A33    B33    C33    D33    Text3
4
5
6
7                                Text3
8                                Text2

它应该检测到E列中存在重复并复制重复行的第一次迭代的最左边2个单元格并将它们粘贴到第二次迭代中 . 即它应该从Text3的行复制A33和B33并将其粘贴到后一个Text3的行中 . 与Text2相同 . 因此,工作表应该在宏运行后显示:

A      B      C      D      E
1    A11    B11    C11    D11    Text1
2    A22    B22    C22    D22    Text2
3    A33    B33    C33    D33    Text3
4
5
6
7    A33    B33                  Text3
8    A22    B22                  Text2

1 回答

  • 0
    Sub main()
    Dim hold As New Collection
    For Each celli In Columns(5).Cells
    On Error GoTo raa
    If Not celli.Value = Empty Then
    hold.Add Item:=celli.Row, key:="" & celli.Value
    End If
    Next celli
    On Error Resume Next
    raa:
    Range("a1:b1").Offset(celli.Row - 1, 0).Value = Range("a1:b1").Offset(hold(celli.Value) - 1, 0).Value
    Resume Next
    End Sub
    

相关问题