设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 20950|回复: 50

关于剔除重复

[复制链接]

点击这里给我发消息

发表于 2008-3-24 15:15:03 | 显示全部楼层 |阅读模式
这个问题曾经被无数个人问,解决的方法也是无数个。
我在这里摆个擂:

征剔除重复的方法。

要求:
1、技巧、函数、VBA不限,但请注明。
2、如果有可能就用图来说明,以方便初学者。

[ 本帖最后由 pureshadow 于 2008-3-24 16:36 编辑 ]

点击这里给我发消息

 楼主| 发表于 2008-3-24 15:17:29 | 显示全部楼层

技巧法:高级筛选

我先来一个——技巧法:高级筛选
位置在:数据-筛选-高级筛选
把“选择不重复记录”勾上。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-3-24 15:47:02 | 显示全部楼层

利用先排序后比对

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-3-24 15:53:26 | 显示全部楼层

利用公式,筛选

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-3-24 15:59:07 | 显示全部楼层

用VBA了

'利用高级筛选代码就一句话
Sub 在B列中提取A列中的不重复项()
        Sheets("test").Range("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("B1"), unique:=True
End Sub



Sub 不重复记录()
    '这里的序列是没有标题的;此命令只用于test表,A列
    Application.ScreenUpdating = False
    '关闭屏幕转换
    With Sheets("test")
        .Range("A:A").Sort Key1:=Range("A1"), Order1:=xlDescending
        '对序列降序排序
        Set currentcell = Range("A1")
        Do While Not IsEmpty(currentcell)
            Set nextcell = currentcell.Offset(1, 0)
            If nextcell.Value = currentcell.Value Then
                currentcell.EntireRow.Delete
            End If
            Set currentcell = nextcell
        Loop
    End With
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-3-24 19:43:10 | 显示全部楼层

我也来一个VBA的

VBA删除重复项,只是不是很完善,得麻烦你多点几次,直到没有重复项哦,点出来的快乐,哈哈........
Sub 删除重复()
Dim Lrow As Long
Dim I As Integer
Dim myCount
   Lrow = Sheets("sheet1").[A65536].End(xlUp).Row
   For I = 2 To Lrow
      myCount = Application.CountIf(Sheet1.Range("A2:A" & Lrow), Sheets("sheet1").Cells(I, 1))
      If myCount > 1 Then
         Sheets("sheet1").Cells(I, 1).Delete
      End If
   Next I
End Sub




实例样本:

[ 本帖最后由 tanhong 于 2008-3-24 20:30 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-3-24 19:45:25 | 显示全部楼层
以上代码就当抛砖引玉,希望后面能出现更多精彩
发表于 2008-3-24 19:55:30 | 显示全部楼层
[:11]

点击这里给我发消息

 楼主| 发表于 2008-3-24 23:35:43 | 显示全部楼层

技巧:数据透视表

事实上,数据透视表也不失为一个好办法,不仅可以一下子剔除重复,还可以列出每项重复了多少。

[ 本帖最后由 pureshadow 于 2008-3-24 23:40 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-3-24 23:40:30 | 显示全部楼层
原帖由 pureshadow 于 2008-3-24 23:35 发表
事实上,数据透视表也不失为一个好办法,不仅可以一下子剔除重复,还可以列出每项重复了多少。

有道理,用数据透视表操作简便快捷
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-28 18:12 , Processed in 0.095589 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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