想实现输入数据跟表格中另一列的数据自动对比筛选,把重复的存放在另一列中,
例如:
A B C
55 62 62
62 81 81
23 33
81
A列中的数据固定,在B列中输入数据,在C列中自动生成A列和B列中重复的数据!希望各位高手作答的时候讲清楚怎么使用,谢谢!
在你数据当前的左下角sheet 鼠标右键 点击最后一个 查看代码 把下面的代码复制到里面
使用的时候 03版是 菜单 工具----宏---宏---找到test的宏执行 即可
Sub test()
Application.ScreenUpdating = False
Dim rng As Range
Dim r1, i As Long
Dim findvalue As Range
r1 = ActiveSheet.Range("B65536").End(xlUp).Row
i = 1
For Each rng In ActiveSheet.Range("B1:B" & r1)
Set findvalue = ActiveSheet.Columns(1).Find(what:=rng.Value)
If Not findvalue Is Nothing Then
Cells(i, 3).Value = rng.Value
i = i + 1
End If
Next
Application.ScreenUpdating = True
End Sub
只能验证第一个重复的数据,剩下的就显示错误了
追答是数组公式,要以ctrl+shift+enter三键组合结束输入的
追问数组公式会使用,一旦B列输入不是A列里的数据以后,继续输入,即使在输入A列里有的数据,C列也不会显示这个数据
追答哦,那要把公式改一下了
=INDEX(B:B,SMALL(IF(COUNTIF(A:A,B$1:B$100),ROW($1:$100),4^8),ROW(C1)))&""
还是不好用,还是刚才的问题,比以前唯一改进的地方就是当B列第一次输入的不是A列中的数据时,继续输入,一旦有A列中的数据,C列依然能显示,但是往后再出现这种情况就还是以前的问题,C列不在显示了
追答只能把100改大了,你可以改为65536,电脑运行速度会变慢.用VB可以解决。
不好意思,帮不到你了