ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4319|回复: 23

[已解决] 求助,怎样在多个Excel中提取身份证号码相同的出来

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-11-17 11:20 | 显示全部楼层 |阅读模式
本帖最后由 lotus-flower 于 2017-11-17 16:23 编辑

工作需要,需要将多个Excel中重复的身份证号提取出来,如下图 要求将多个Excel中身份证一栏相同的提取出来,然后把姓名一栏也提取出来,方便看那些人重复了如图,最好在整一栏,把乡镇,村名,组编号(或组名)提取出来最好了,像这种,那个村,那个组,那些人重复了
EXTX[(()9I}6(H3A2RC@DDY.png [11}5T_@M7F_}912B`PF.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-17 11:22 | 显示全部楼层
本帖最后由 lotus-flower 于 2017-11-17 16:29 编辑

附件在这里。。。

南亩镇芙蓉村-户籍.zip

197.08 KB, 下载次数: 13

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-17 19:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
没人啊。。。

TA的精华主题

TA的得分主题

发表于 2017-11-17 20:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub 按钮2_Click()
  2.     Application.ScreenUpdating = False
  3.     Set d = CreateObject("scripting.dictionary")
  4.     Set fso = CreateObject("scripting.filesystemobject")
  5.     Set sh = ActiveSheet
  6.     For Each f In fso.getfolder(ThisWorkbook.Path).Files
  7.          If InStr(f.Name, "统计重复") = 0 Then
  8.             brr = Split(f.Name, "-")
  9.             str1 = brr(1) & "-" & brr(2) & "-" & brr(3)
  10.             With Workbooks.Open(f)
  11.                 arr = .Sheets(1).UsedRange
  12.                 For j = 2 To UBound(arr)
  13.                     If Len(arr(j, 5)) > 10 Then
  14.                         d(arr(j, 5)) = d(arr(j, 5)) & "@@" & brr(0) & "##" & str1 & "##" & arr(j, 8) & "##" & arr(j, 4) & "##" & arr(j, 5) & "##" & arr(j, 7)
  15.                     End If
  16.                 Next j
  17.                 .Close
  18.             End With
  19.          End If
  20.     Next f
  21.     sh.Columns("a:i").Clear
  22.     a = 1
  23.     For j = 0 To d.Count - 1
  24.         brr = Split(d.items()(j), "@@")
  25.         If UBound(brr) > 1 Then
  26.             For i = 1 To UBound(brr)
  27.                 sh.Cells(a, 1).Resize(1, 6) = Split(brr(i), "##")
  28.                 a = a + 1
  29.             Next i
  30.         End If
  31.     Next j
  32.     Application.ScreenUpdating = True
  33. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2017-11-17 20:24 | 显示全部楼层
欢迎新朋友
结合附件内容,做了示例供参考

南亩镇芙蓉村-户籍.zip

233.4 KB, 下载次数: 43

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-17 22:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
liulang0808 发表于 2017-11-17 20:24
欢迎新朋友
结合附件内容,做了示例供参考

非常感谢这位热心朋友,可不可以再帮我变一下,因为有时需要在很多村甚至几个乡镇里面提取,提取出来,我不容易判断哪个村那个组重了

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-17 22:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
最好能改成这样的, 4YM1QUVF(D$VUE4J0@CW)`E.png ,在前面加一列,就是出现该重复户主,身份证号码所在的表格表名 YP`~$IRG7K3{CR]PFLW5){0.png ,每个表名都是这样,乡镇-村名-村每个组编号-村每个组的组名

南亩镇2222-户籍.zip

554.14 KB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2017-11-18 07:12 | 显示全部楼层
楼主运行后,提取结果见截图?
跟楼主的需求无差别的
QQ截图20171118071214.png

TA的精华主题

TA的得分主题

发表于 2017-11-18 07:14 | 显示全部楼层
如果还有问题,结合附件内容进行描述

南亩镇2222-户籍.zip

554.79 KB, 下载次数: 63

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-18 09:05 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
liulang0808 发表于 2017-11-17 20:23

多谢热心的版主
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-28 23:51 , Processed in 0.052693 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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