Excel精英培训网

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

[已解决]修改宏

[复制链接]
发表于 2011-8-23 22:25 | 显示全部楼层 |阅读模式
高级筛选(2).rar (346.2 KB, 下载次数: 5)
发表于 2011-8-23 22:32 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-8-23 22:34 | 显示全部楼层
回复

使用道具 举报

发表于 2011-8-23 23:58 | 显示全部楼层    本楼为最佳答案   
dong66094799 发表于 2011-8-23 22:25
请 放浪形骸 帮忙 谢谢!
  1. On Error Resume Next
  2. Sheets("不重复数据").Range("a2").Resize(k1, 2) = ""
  3. Sheets("不重复数据").Range("a2").Resize(k1, 2) = arr3
  4. Sheets("不重复数据").Range("A" & k1 + 2).Resize(60000 - k1, 2).Clear
  5. Sheets("重复数据").Range("a2").Resize(k, 2) = ""
  6. Sheets("重复数据").Range("a2").Resize(k, 2) = arr2
  7. Sheets("重复数据").Range("A" & k + 2).Resize(60000 - k, 2).Clear
复制代码
把原来IF后的代码修改成这个。
  1. Sheets("不重复数据").Range("A" & k1 + 2).Resize(60000 - k1, 2).Clear
复制代码
你原先设定了ARR的大小为60000,所以如果没有数据的话也会自动填充空值进去,那么就把多余的内容给清除掉。

而没有重复数据的时候,你的K的值未设定,所以宏报错,那么就可以用
  1. On Error Resume Next
复制代码
来忽略错误跳过就可以了。
回复

使用道具 举报

发表于 2011-8-24 00:00 | 显示全部楼层
同时,我感觉初始设置三个从1 to 60000, 1 to 2的数组太占内存了。
应该还有更好的办法的。
不过我暂时还没想到。
回复

使用道具 举报

发表于 2011-8-24 11:11 | 显示全部楼层
那位高手师傅教教我如何把写好的宏放到表格中,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 01:10 , Processed in 0.369364 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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