永发信息网

vba,从sheet1某单元格的数据,在sheet2中的b列和d列搜索重复项

答案:3  悬赏:0  手机版
解决时间 2021-01-20 17:01
vba,从sheet1某单元格的数据,在sheet2中的b列和d列搜索重复项
最佳答案
工作表事件代码
alt+F11
左边工程框双击sheet1
将代码复制到右边空白区

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$J$3" Then Exit Sub
If Application.WorksheetFunction.CountIf(Sheets("sheet2").Range("B:D"), Target) = 0 Then
MsgBox "未找到"
Else
For Each rng In Sheets("sheet2").Range("B:D")
If rng = Target Then
MsgBox "案号为 " & rng.Offset(, -1).Value
End If
Next
End If

End Sub
全部回答
呵呵 ,这个你可以先录个宏然后自己修改一下,应该不是很难做到,都是EXCEL的基本操作,VBA很容易就可以实现的,另外你你可以将你的问题完善一下,最后有原始数据的那种,不然的话测试数据都没有啊
'下述代码的功能是如果B列有重复项则提示是否继续,是则继续运行
'B列找完后再找D列,D列如果有重复项则同样出现提示
'如果在出现提示后按“否”,则程序立即退出
Sub 按钮1_单击()
Dim i As Integer, j As Integer, n As Integer, u As Integer
n = 1000 '假定数据在2-1000行
For i = 2 To n Step 1
If Sheet2.Cells(i, 2) = "" Then Exit For
For j = 1 To n - i Step 1
If Sheet2.Cells(i, 2) = Sheet2.Cells(i + j, 2) Then
Sheet1.Cells(3, 10) = Sheet2.Cells(i, 1)
u = MsgBox("在B列找到重复项" & Chr(10) & "是否继续", vbYesNo + vbQuestion)
If u = 7 Then Exit Sub
End If
Next j
Next i
For i = 2 To n Step 1
If Sheet2.Cells(i, 2) = "" Then Exit For
For j = 1 To n - i Step 1
If Sheet2.Cells(i, 4) = Sheet2.Cells(i + j, 4) Then
Sheet1.Cells(3, 10) = Sheet2.Cells(i, 3)
u = MsgBox("在D列找到重复项" & Chr(10) & "是否继续", vbYesNo + vbQuestion)
If u = 7 Then Exit Sub
End If
Next j
Next i
End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
BBOY的精神是什么?怎么样成为一个优秀的BBOY
女人能吃野山羊的腰子吗
怎么看英国cas里要求签证提供的材料
中国有叫刘谭思瑶的人吗?或是刘谭这个姓氏的
用“多么……多么……”造句
今天买了So纤瘦,不知道能不能瘦?好期待
不是颍上人想在颍上买房小孩可一高考吗
请问谁知道这曲子叫啥
汉人古代长什么样
我不考研的决定是不是正确的
单选题下列语句正确的是A.相等的角是对顶角B.
您有没有想过:为什么私募基金的投资门槛是10
仁华养生推拿怎么去啊,有知道地址的么
单选题下列关于太阳能的说法中,其中不是太阳
18岁女孩无缘无故笑爱动怎么回事
推荐资讯
带有残和卷的成语
怎么区分冷镀锌管与热镀锌管
圆弧长度是7.6米,圆弧高度是8公分,求圆的半
四千亿零八百万写作什么
对比分析静态法和动态法的优缺点
7-1=7移动一根火柴棒使等式成立移动哪个火柴
大学生寻合适的电子词典!
mac海淘转运公司哪个好
我的耳麦插上能听到声音,但是话筒不好使?如何
416.24x25用简便方法计算
新手求助 multisim找不到稳压二极管IN4148,
T64次火车经过哪些地方?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?