sheet1指定列A列中内容与sheet2A列中指定列的内容相同则删除sheet1中整行,需要VBA代码

sheet1指定列A列中内容与sheet2A列中指定列的内容相同则删除sheet1中整行,需要VBA代码,求大神指点,在线等啊!!!SHEET1中的内容ABCcellse... sheet1指定列A列中内容与sheet2A列中指定列的内容相同则删除sheet1中整行,需要VBA代码,求大神指点,在线等啊!!!
SHEET1中的内容
A B C
cell sector carr
2 2 1
4 1 1
4 3 1
5 2 1
6 1 1
6 2 1
6 3 1
8 1 1
8 3 1
9 2 1
10 1 1
10 1 3
10 2 2
10 3 1
10 3 3
11 1 2
11 2 2
11 3 2
12 2 1
14 1 1
14 1 3
14 2 2
14 3 1
SHEET2中内容
A B
1
2
3
4
5
6
7
8
9
展开
 我来答
真真真白丁
推荐于2016-02-27 · TA获得超过8524个赞
知道大有可为答主
回答量:4644
采纳率:85%
帮助的人:1767万
展开全部

其实,公式就可以标记出来,然后筛选和删除就可以了。一定要用VBA吗?

Sheet1的找一个空白列作为辅助列,第2行粘贴公式并下拉:

=COUNTIF(Sheet2!A:A,Sheet1!A2)

然后自动筛选,选择值为“1”的,选中这些行,删除。

追问
我是要编写个程序,所以必须要用VBA
追答

代码如下,请测试:

Sub qcf()
Dim d
Set d = CreateObject("Scripting.Dictionary")
Dim rg As Range
For Each rg In Sheets("Sheet2").Range("A1:A" & Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row)
    d(rg.Value) = ""
Next
With Sheets("Sheet1")
    Columns("D").ClearContents
    For Each rg In .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row)
        If d.exists(rg.Value) Then
            rg.Offset(0, 3) = "重复"
        End If
    Next
End With
Set d = Nothing
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式