excel按一列删除重复行,并按另一列时间保留最近的一条记录
excel按一列删除重复行,并按另一列时间保留最近的一条记录
发布时间:2016-12-23 来源:查字典编辑
摘要:A列公司名称,B列公司地址,C列时间。我想根据A列找出重复的,然后删除那一整行,只留下最近一个记录。例:A列B列C列北京1公司北京市西城区2...

A列公司名称,B列公司地址,C列时间。

我想根据A列找出重复的,然后删除那一整行,只留下最近一个记录。

例: A列 B列 C列

北京1公司 北京市西城区 2010-1-1

北京5公司 北京市海淀区 2010-2-2

北京1公司 北京市朝阳区 2010-3-20

北京3公司 北京市东城区 2010-1-20

北京2公司 北京市丰台区 2010-5-1

北京3公司 北京市宣武区 2010-7-1

删除后

北京1公司 北京市西城区 2010-3-20

北京5公司 北京市海淀区 2010-2-2

北京3公司 北京市东城区 2010-7-1

北京2公司 北京市丰台区 2010-5-1

Sub 删除重复行()

'

'*******数据放在Sheet1并从A1开始

'*******A列放重复的

'*******C列放时间

Sheets("Sheet1").Select

'A列到Z列排序</p> <p> Columns("A:Z").Select

Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, HEADER:=xlGuess, _

OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _

:=xlPinYin, DataOption1:=xlSortNorma

Range("A1").Select

GoTo tiaoc13

tiaoc1:

If ActiveCell.Offset(0, 2) >= ActiveCell.Offset(1, 2) Then GoTo tiaoc12

ActiveCell.Offset(0, 0).Rows("1:1").EntireRow.Delete Shift:=xlUp

GoTo tiaoc13

tiaoc12: ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Delete Shift:=xlUp

tiaoc13:

Do While ActiveCell.Offset(0, 0) <> ""

If ActiveCell.Offset(0, 0) = ActiveCell.Offset(1, 0) Then GoTo tiaoc1

ActiveCell.Offset(1, 0).Select

Loop

End Sub

录一个宏用上面代码替换,再运行这个宏即可

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新办公软件学习
热门办公软件学习
软件教程子分类