excel vba代码要怎么写

如图,我想编写一段VBA代码,让它能筛选掉进货次数相同的一行,只留下首次的记录结果如下: 2010-11-10 0:00 1 2010-11-10 0:20 2 2010-11-10 1:00 3 2010-11-10 2:00 4 2010-11-10 2:20 5 谢谢!

用如何代码可实现,假设原数据在A、B列
Sub
main()
Set
dic
=
CreateObject("scripting.dictionary")
arr
=
Range("A1").CurrentRegion
For
i
=
1
To
UBound(arr)
If
dic.exists(arr(i,
2))
=
False
Then
dic(arr(i,
2))
=
arr(i,
1)
Else
If
dic(arr(i,
2))
<
arr(i,
1)
Then
dic.Remove
arr(i,
2)
dic(arr(i,
2))
=
arr(i,
1)
End
If
End
If
Next
i
[E1].Resize(dic.Count,
1)
=
Application.Transpose(dic.keys)
[D1].Resize(dic.Count,
1)
=
Application.Transpose(dic.items)
End
Sub
详细步骤如下:
原数据
Alt+F11,选择sheet1,复制上述代码
关闭返回工作表,alt+F8,掉出宏界面
点击执行,即得到想要的结果:

温馨提示:答案为网友推荐,仅供参考