Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2120|回复: 4

[已解决]怎么去掉重复数据

[复制链接]
发表于 2014-11-1 19:05 | 显示全部楼层 |阅读模式
本帖最后由 mmc998 于 2014-11-1 19:34 编辑

Book1.rar (6.31 KB, 下载次数: 21)
发表于 2014-11-1 19:24 | 显示全部楼层    本楼为最佳答案   
  1. Sub demo()
  2.     Dim d As Object, ar, i
  3.     Set d = CreateObject("Scripting.Dictionary")
  4.     ar = Range(Cells(2, 1), Cells(2, Cells(2, Columns.Count).End(1).Column))
  5.     For i = 1 To UBound(ar, 2)
  6.         If Not d.Exists(ar(1, i)) Then
  7.             d(ar(1, i)) = ""
  8.         End If
  9.     Next
  10.     Range("a2").Resize(, UBound(ar, 2)).ClearContents
  11.     Range("a2").Resize(, d.Count) = d.keys
  12. End Sub
复制代码
附件楼下
回复

使用道具 举报

发表于 2014-11-1 19:25 | 显示全部楼层
Book1.rar (13.6 KB, 下载次数: 15)
回复

使用道具 举报

发表于 2014-11-1 20:43 | 显示全部楼层
是的  86做的是针对一行的 我在86的基础上修改了下  把所有行都给删除了   谢谢 86的解答
  1. Sub demo()
  2.     Dim d As Object, ar, i, j
  3.     Set d = CreateObject("Scripting.Dictionary")
  4.     For j = 2 To Cells(2, 1).End(xlDown).Row
  5.     ar = Range(Cells(j, 1), Cells(j, Cells(j, Columns.Count).End(1).Column))
  6.     For i = 1 To UBound(ar, 2)
  7.         If Not d.Exists(ar(1, i)) Then
  8.             d(ar(1, i)) = ""
  9.         End If
  10.     Next
  11.     Cells(j, 1).Resize(, UBound(ar, 2)).ClearContents
  12.    Cells(j, 1).Resize(, d.Count) = d.keys
  13.     d.RemoveAll
  14.     Next j
  15. End Sub
复制代码
回复

使用道具 举报

发表于 2014-12-10 15:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 17:48 , Processed in 0.375668 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表