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同时重复的全删除
展开
 我来答
庆年工坊
推荐于2016-07-28 · 知道合伙人互联网行家
庆年工坊
知道合伙人互联网行家
采纳数:4233 获赞数:8928

向TA提问 私信TA
展开全部
同时重复是指三个区域同时出现,还是三个区域对应的位置数据相同,还是三个区域同时出现两个以上的相同数据?
保留区域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
姓王的wy451

2015-08-26 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8962万
展开全部
假如A39与K50的数据相同算不算重复?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mjbardag
2015-08-26 · TA获得超过713个赞
知道小有建树答主
回答量:883
采纳率:0%
帮助的人:300万
展开全部
数据范围挺大,不知道要比对的是什么样的数据
这种应该是用数组进行比较会快些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gz350128
2015-08-26 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:35.2万
展开全部
最好截图看看数据排列是什么样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式