excel 删除多列重复

来源:百度知道 编辑:UC知道 时间:2024/05/31 15:29:54
我要删除EXCEL里面A、B、D列中出现的重复数据,如:
1 A B C D E
2 05 04 54 12 56
3 05 04 51 12 98
4 12 54 26 87 91
5 12 54 19 87 28
搜索每行对应的A、B、D列,删除重复项,C、E列的数据保留。
(满足A2+B2+D2=A3+B3+D3则删除A3+B3+D3,
如能保留C3、E3更好,无法保留就算了。)
数据量很大,有几万行,请问用什么具体方法解决?
没箭羽兄的办法好像不行,我打开要处理的EXCEL文件然后按
ALT+F11打开VB编辑,再把代码复制上去运行后提示
编译错误:Do 没有 Loop
请问是什么问题

1. 选择要排序的行或记录上方的列标题。
2. 在数据菜单中,指向筛选,然后单击高级筛选。如果收到如下提示,请单击确定。
未检测到任何标题。是否将选定区域的首行用作标题行?
3. 在方式下,单击“将筛选结果复制到其他位置”。
4. 单击以选中“选择不重复的记录”复选框。
5. 在“列表区域”框中,键入或选择一个记录范围(如 A3:H10)。
6. 在“条件区域”框中,键入或选择相同的记录范围(即 A3:H10)
7. 在“复制到”框中,键入用于存放信息的第一个单元格的地址,或直接选择该单元格。请确保该区域有足够的空间,以免覆盖已存在的数据。
注意:只能在活动的工作表中执行此操作。
8. 单击确定。

可以用vba
代码如下
public sub CommandButton1_Click()
dim StartRow as long '数据的开始行的行号
dim EndRow as long '数据的最后一行的行号
dim i as long
StartRow=2 '假设数据从第2行开始
EndRow=65535 '假设数据到65535行结束
do while startrow<=65535
if Range("A" & startrow).value<>"" then
if Range("B" & StartRow).value=Range("A").value then Range("B" & StartRow).value=""
if Range"D"&StartRow).value=Range("A").value then Range("D" & StartRow).value=""