转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 办公软件 >> 正文
最简单的VBA查找Excel重复值放到另外一个表的代码         ★★★★

最简单的VBA查找Excel重复值放到另外一个表的代码

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1969 更新时间:2010/6/21 21:48:44

  本文,我们来学习一下如何在EXCEL中使用VBA,查找重复的值,并且,自动将重复的值的第一个,复制粘贴到另外一个表!

  下面的这个例子,是一个非常精典的例子!

  下表,是Sheet1,是一张使用打卡机来打卡的记录表!

  A列是打卡日期;B列是打卡时间,C列是打卡机的编号;

  通过观察上表,我们不难发现,C列的打卡机的编号,存在重复;

  现在,我们要如何整理这样的数据呢,请看下表Sheet2;

  现在,我们要做的就是,从表一Sheet1中,查找出重复的打卡机的编号,将第一个重复值,存放到Sheet2中的A列;

  这样,Sheet2中的A列的打卡机编号,就是唯一的,不存在重复了;

  接着,我们要完成的就是:每个打卡机的编号所对应的数据,只能有一条,不让其占多行;制作原理就是:对照Sheet2中的A列的打卡机编号,用它来查找在Sheet1中所存在的记录,然后,把打卡时间积累起来,统一放到Sheet2中从B列一直往后的单元格中。

  总而言之,是这样的:

  ①把Sheet1中的打卡机的编号,存放到Sheet2中的A列,不允许存在重复;

  ②对照Sheet2中的A列的打卡机编号,去找与之相对应的存放在Sheet1中的打卡时间,然后,把找到的数据,填充到Sheet2中与打卡机编号一致的从B列一直往后的单元格中。

  怎么办呢?

  右键点击Sheet2,在弹出的快捷菜单中选择“查看代码”,如下图!

  弹出VBA代码输入框;

  最后,和下图一样,输入代码,在VBA窗口中点击保存,最后返回到Excel,整个过程结束。

  为了方便大家的学习,下面,俺将代码粘贴如下,供大家复制使用!

  Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim boot
  Dim count
  Dim getvalueboot
  boot = 1
  getvalueboot = 1
  For i = 1 To Sheet1.UsedRange.Rows.count'以下代码的功能是,查找重复值
      For j = 1 To Sheet2.UsedRange.Rows.count
          If (Sheet1.Cells(i, 3).Value = Sheet2.Cells(j, 1).Value) Then
              count = count + 1
          End If
      Next j
      If (count = 0) Then
          boot = boot + 1
          Sheet2.Cells(boot, 1).Value = Sheet1.Cells(i, 3).Value
      End If
      count = 0
  Next i

  For k = 1 To Sheet2.UsedRange.Rows.count'以下代码的功能是:获取与打卡机一致的打卡时间
      For m = 1 To Sheet1.UsedRange.Rows.count
          If (Sheet2.Cells(k, 1).Value = Sheet1.Cells(m, 3).Value) Then
              getvalueboot = getvalueboot + 1
              Sheet2.Cells(k, getvalueboot).Value = Sheet1.Cells(m, 2).Value
          End If
      Next m
      getvalueboot = 1
  Next k
  End Sub

  以上代码或在使用上,有什么地方不清楚的,敬请联系本站站长!


[办公软件]Range结合Find方法的VBA实例  [办公软件]Excel记录表格被打印次数的VBA代码
[办公软件]excel中的VBA中的With语句的使用介绍及实例  [办公软件]把每个工作表分别单独保存为一个工作薄的VBA代码
[办公软件]合并多个工作薄的VBA代码示例  [办公软件]Excel快速合并多个工作表为一个工作表的VBA代码
[办公软件]Excel全名查找或单字查找所有工作表之学生姓名的V…  [办公软件]在多张幻灯片中分别插入一张图片的VBA宏代码
[办公软件]Excel批量添加批注和删除的VBA代码  [Web开发][ASP/ASP.net]最简单的XML运用
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台