加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用VBA一行代码取唯一值(RemoveDuplicates方法)

(2020-07-24 10:27:09)
标签:

excel

vba

分类: Excel相关
     Excel中取唯一值的方法有不少,用VBA是可行的解决办法。此文用VBA一行代码取唯一值,就是RemoveDuplicates方法,代码简洁,推荐使用。
    RemoveDuplicates方法去重复值,关键代码只有一行了,假如:数据区为B2:D100,B列数据去重复值,则代码如下:
         ActiveSheet.Range("B2:D100").RemoveDuplicates Columns:=1, Header:=xlYes
代码解释:
      1、Columns参数指定要删除重复项的列,如果是1的话,那么第一列中重复项所在行都会被删除,如果是2则只有1,2两列均重复的行才会被删除,以此类推。如果想在3列中只根据某几列的重复来删除,比如,1、3 列。那么参数写为Columns:=Array(1,3)。
      2、Header参数指定含标题还是不含标题,如果是xlYes,则含标题;如果是xlNo,则不含标题。
举个例子如下:
Sub 取唯一值()
    Application.ScreenUpdating = False  '关闭屏幕更新
    Application.DisplayAlerts = False       '屏蔽屏中弹幕
    'B列筛选值复制到E列中
    Dim aa
    Set aa = ActiveSheet.Range("E2:E100")      '筛选结果存放区,不含标题
    With aa   
         ActiveSheet.Range("b2:b100").Copy  ActiveSheet.Range("E2")     '把筛选结果复制到预定存放区,不含标题
        .RemoveDuplicates Columns:=1, Header:=xlNo     'Columns:=1表示单列筛选,Header:=xlNo表示不含标题
    End With
    Application.ScreenUpdating = True  '关闭屏幕更新
    Application.DisplayAlerts = True       '屏蔽屏中弹幕
End Sub

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有