excel vba给不同区域对比删除内容(范围大快速删除)
1。A39:j1038为区域12。K39:T1038为区域23。U39:AD1038为区域34。区域1/区域2/区域3内容同时重复时,保留区域1数据优先,不满足区域1/区...
1。A39:j1038为区域1
2。K39:T1038为区域2
3。U39:AD1038为区域3
4。区域1 /区域2/区域3内容同时重复时,保留区域1数据优先,
不满足区域1 /区域2/区域3同时重复的全删除 展开
2。K39:T1038为区域2
3。U39:AD1038为区域3
4。区域1 /区域2/区域3内容同时重复时,保留区域1数据优先,
不满足区域1 /区域2/区域3同时重复的全删除 展开
展开全部
同时重复是指三个区域同时出现,还是三个区域对应的位置数据相同,还是三个区域同时出现两个以上的相同数据?
保留区域1数据优先,是指保留重复中的一个,还是区域1的全部保留,其他区域的重复数据是全部删除还是全部保留还是保留一部分?
删除后保留空单元格,还是数据前移或上移?
保留区域1数据优先,是指保留重复中的一个,还是区域1的全部保留,其他区域的重复数据是全部删除还是全部保留还是保留一部分?
删除后保留空单元格,还是数据前移或上移?
追问
同时重复是指三个区域同时出现
保留区域1数据优先,是指保留重复中的一个
其他区域的重复数据是全部删除
删除后数据前移或上移
追答
Sub xx()
Dim d1, d2, d3
Set d1 = CreateObject("Scripting.Dictionary")
Set d2 = CreateObject("Scripting.Dictionary")
Set d3 = CreateObject("Scripting.Dictionary")
For i = 39 To 1038
For j = 1 To 10
d1(Cells(i, j).Text) = ""
Next
Next
For i = 39 To 1038
For j = 11 To 20
If d1.exists(Cells(i, j).Text) Then d2(Cells(i, j).Text) = ""
Next
Next
For i = 39 To 1038
For j = 21 To 30
If d2.exists(Cells(i, j).Text) Then d3(Cells(i, j).Text) = ""
Next
Next
k = d3.keys
[a39:ad1038].ClearContents
For i = 0 To UBound(k)
[a39:k1038].Item(i + 1) = k(i)
Next
End Sub
展开全部
假如A39与K50的数据相同算不算重复?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据范围挺大,不知道要比对的是什么样的数据
这种应该是用数组进行比较会快些
这种应该是用数组进行比较会快些
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好截图看看数据排列是什么样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询