ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 提取了数据之后,怎么把重复项给去掉,请教高手

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-11-30 12:31 | 显示全部楼层 |阅读模式
本帖最后由 chj8869 于 2015-11-30 12:34 编辑

附件中提取数据有重复,怎么样才能把重复的去掉呢,请教老师帮助!!!!

复件 表一.rar

558.48 KB, 下载次数: 23

TA的精华主题

TA的得分主题

发表于 2015-11-30 15:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请见代码。
2015-11-30去重复.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-12-1 11:14 | 显示全部楼层

感谢,老师!!只是现在的这个编码,把重复的去掉了显示为空。怎么改能把空格去掉?

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-12-2 08:52 | 显示全部楼层
各路高手! 指点指点·······

TA的精华主题

TA的得分主题

发表于 2015-12-2 09:41 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-12-2 14:06 | 显示全部楼层
蓝桥玄霜 发表于 2015-12-2 09:41
并没有设置为空的代码。

可是,代码打进去后,有空的出现,请看下  附件。  

请看 表一.zip

571.72 KB, 下载次数: 19

TA的精华主题

TA的得分主题

发表于 2015-12-3 16:56 | 显示全部楼层
  1. Private Sub 单击提取_Click()
  2. Dim Ar, i&, d, k, t, ks, js, j&, aa, x$, d1
  3. [a7:b5000].ClearContents
  4. Ar = Sheet2.Range("a3").CurrentRegion
  5. Set d = CreateObject("scripting.dictionary")
  6. Set d1 = CreateObject("scripting.dictionary")
  7. ks = [e3].Value: js = [e4].Value: n = 6
  8. For i = 8 To UBound(Ar)
  9.    x = Ar(i, 3) & "," & Ar(i, 13)
  10.    d(x) = d(x) & i & ","
  11. Next
  12. k = d.keys
  13. x = [a3].Value & "," & [c3].Value
  14. If d.exists(x) Then
  15.     t = d(x)
  16.     t = Left(t, Len(t) - 1)
  17.     If InStr(t, ",") Then
  18.        aa = Split(t, ",")
  19.        For j = 0 To UBound(aa)
  20.            If Ar(aa(j), 8) >= ks And Ar(aa(j), 8) <= js Then
  21.               For y = 18 To UBound(Ar, 2) Step 12
  22.                   If Ar(aa(j), y) <> "" Then
  23.                      If Not d1.exists(Ar(aa(j), y)) Then
  24.                         n = n + 1
  25.                          d1(Ar(aa(j), y)) = ""
  26.                          Cells(n, 1) = Ar(aa(j), y)
  27.                          Cells(n, 2) = Ar(aa(j), y + 10)
  28.                     End If
  29.                 Else
  30.                     Exit For
  31.                 End If
  32.             Next
  33.         End If
  34.     Next
  35. Else
  36.     If Ar(t, 8) >= ks And Ar(t, 8) <= js Then
  37.         For y = 18 To UBound(Ar, 2) Step 12
  38.             If Ar(t, y) <> "" Then
  39.                 If Not d1.exists(Ar(t, 18)) Then
  40.                     n = n + 1
  41.                     d1(Ar(t, 18)) = ""
  42.                     Cells(n, 1) = Ar(t, 18)
  43.                     Cells(n, 2) = Ar(t, 28)
  44.                 Else
  45.                     Exit For
  46.                 End If
  47.             End If
  48.         Next
  49.     End If
  50. End If
  51. [d6] = n - 6
  52. End If
  53. End Sub

复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-12-4 10:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

感谢老师,问题已解决,代码消化中。。。。。

TA的精华主题

TA的得分主题

发表于 2018-7-3 11:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
d(x) = d(x) & i & ","
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-29 21:26 , Processed in 0.025369 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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