Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1528|回复: 8

[已解决]求助

[复制链接]
发表于 2011-10-28 20:30 | 显示全部楼层 |阅读模式
求助,提取不重复,要求见附件内
最佳答案
2011-10-28 22:52
本帖最后由 mxg825 于 2011-10-28 22:59 编辑

Sub test()
    Sheets(2).Columns("A").ClearContents
    Set d = CreateObject("scripting.dictionary")
    For Each cl In UsedRange
        If cl <> "" And cl.Row <> 1 Then d(cl.Value) = ""
    Next
   Sheets(2).Range("a1").Resize(d.Count, 1) = Application.Transpose(d.keys)
End Sub
我加了红色那句!,另发现数据导出少了一个,最后一句代码更正一下!

不重复.rar

3.65 KB, 下载次数: 3

求助

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-10-28 20:55 | 显示全部楼层
你试试: 筛选不重复.rar (9.58 KB, 下载次数: 16)

点评

字典交给数组后,最小下标是0,所以最大下标与实际总行少一个!  发表于 2011-10-28 23:04
回复

使用道具 举报

 楼主| 发表于 2011-10-28 22:01 | 显示全部楼层
回复 zjdh 的帖子

感谢帮助,但是我没说清,还请修改一下,再次感谢!

筛选不重复1.rar

9.86 KB, 下载次数: 19

回复

使用道具 举报

发表于 2011-10-28 22:52 | 显示全部楼层    本楼为最佳答案   
本帖最后由 mxg825 于 2011-10-28 22:59 编辑

Sub test()
    Sheets(2).Columns("A").ClearContents
    Set d = CreateObject("scripting.dictionary")
    For Each cl In UsedRange
        If cl <> "" And cl.Row <> 1 Then d(cl.Value) = ""
    Next
   Sheets(2).Range("a1").Resize(d.Count, 1) = Application.Transpose(d.keys)
End Sub
我加了红色那句!,另发现数据导出少了一个,最后一句代码更正一下!

回复

使用道具 举报

 楼主| 发表于 2011-10-28 23:13 | 显示全部楼层
回复 mxg825 的帖子

把代码复制到我的程序中,提示下标超界,不知是啥原因?
回复

使用道具 举报

发表于 2011-10-28 23:25 | 显示全部楼层
scl5801 发表于 2011-10-28 23:13
回复 mxg825 的帖子

把代码复制到我的程序中,提示下标超界,不知是啥原因?

单元格太多了,是不是结果,超65536个了?
最后是上传附件看看
回复

使用道具 举报

 楼主| 发表于 2011-10-28 23:36 | 显示全部楼层
修改好了,谢谢了!!!
回复

使用道具 举报

发表于 2011-10-28 23:38 | 显示全部楼层
什么原因?
回复

使用道具 举报

 楼主| 发表于 2011-10-29 10:00 | 显示全部楼层
回复 mxg825 的帖子

Sheets(2).Columns("A").ClearContents
因Sheets(2).表有表头,不能整列删除,改为range(),错误消除
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 22:02 , Processed in 0.354144 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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