VBA根据列中的最后一个唯一值复制行

时间:2013-10-08 20:08:33

标签: vba excel-vba excel

我正在尝试在Excel电子表格中汇总数据。我想根据第一列复制最后一个唯一行这是一个数据示例:

DocOrd#   text    Value

1         text    .1
1         text    .2
1         text    .3
1         text    .4
2         text     2
2         text     4
2         text     6
2         text     8
3         text     1
3         text     2
3         text     3
3         text     4

我想要的是什么:

DocOrd#   text    Value

1         text    .4
2         text     8 
3         text     4

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助 - 它会遍历您的数据(在Sheet1中从单元格A1开始)并获取每个DocOrd#的最后一个条目,并将其放在Sheet2 <上/ p>

Sub CopyLastEntry()
    Dim entries As Range, entry As Range, cnt As Long

    Set entries = Range("A2:A" & Range("A1").End(xlDown).Row) //Change as per your s/sheet
    cnt = 1

    For Each entry In entries
        If entry <> entry.Offset(1, 0) Then
            Range(entry, entry.Offset(0, 3)).Copy Destination:=Worksheets(2).Range("A" & cnt)
            cnt = cnt + 1
        End If
    Next entry
End Sub