Excel精英培训网

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

[求助]一个删除两列重复数据的需求,涉及上万行数据,希望效率高点,拜谢

[复制链接]
发表于 2012-5-21 18:57 | 显示全部楼层 |阅读模式
本帖最后由 njngypp 于 2012-5-21 19:02 编辑

需求:EXCEL表格中有两个Sheet,各有一列数据(A),需要在第一个Sheet的A列中,删除与第二个Sheet的A列数据重复的部分,将结果填写进第一个Sheet的C列中

如:Sheet1的A列:1,2,3,...,20,Sheet2的A列:11,12,13,...,30,最终结果为Sheet1的C列:1,2,3,...,10

初学VBA,实现该需求存在困难,烦请各位资深人员帮忙,拜谢。
发表于 2012-5-21 19:12 | 显示全部楼层
提供一个具体数据的附件,别人才能更快的帮你解决问题!!
回复

使用道具 举报

发表于 2012-5-21 19:35 | 显示全部楼层
请测试!
  1. Option Explicit
  2. Sub test()
  3.     Dim d As Object
  4.     Dim arr, brr(1 To 10000, 1 To 1)
  5.     Dim i As Long, j As Long
  6.     Set d = CreateObject("scripting.dictionary")
  7.     arr = Sheet2.Cells(1, 1).CurrentRegion
  8.     For i = 1 To UBound(arr)
  9.         If Not d.exists(arr(i, 1)) Then d.Add arr(i, 1), ""
  10.     Next i
  11.     arr = Sheet1.Cells(1, 1).CurrentRegion
  12.     For i = 1 To UBound(arr)
  13.         If Not d.exists(arr(i, 1)) Then
  14.             j = j + 1
  15.             brr(j, 1) = arr(i, 1)
  16.         End If
  17.     Next i
  18.     Sheet1.Columns(3).ClearContents
  19.     Sheet1.Cells(1, 3).Resize(j) = brr
  20. End Sub
复制代码

test.rar

9.1 KB, 下载次数: 41

回复

使用道具 举报

发表于 2012-5-22 11:06 | 显示全部楼层
谢谢,很好!有时有用!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 01:38 , Processed in 0.222407 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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