VBA字典去重
2020-02-19 本文已影响0人
猛犸象和剑齿虎
WPS的设计越来越功能化,虽然缺少excel一些功能,比如sql语句,query等,但是在基础功能的设计上十分实用贴心,比如本文介绍的一键去重复的功能。
最近又陷入很迷茫的状态,对一些技巧性东西的追求,是否会对大方向产生不利的影响,在网上看过一个人的视频,他对机械舞的几个动作练得炉火纯青,但是引来一片谩骂和鄙视,从旁观者的角度来说,他始终停留在技巧的阶段,虽然有很强烈的个人风格,但是没有创意和思路,最终形成的是没有营养的奇怪作品。
image.png
image.png
Sub test()
Dim d
Dim arr, a
On Error Resume Next
Set d = CreateObject("scripting.dictionary")
arr = Range("a1:k38")
For i = 1 To UBound(arr)
d.Add arr(i, 1) & "#" & arr(i, 2) & "#" & arr(i, 3) _
& "#" & arr(i, 4) & "#" & arr(i, 5) & "#" & arr(i, 6) _
& "#" & arr(i, 7) & "#" & arr(i, 8) & "#" & arr(i, 9) _
& "#" & arr(i, 10), ""
Next
a = d.keys
[m1].Resize(d.Count, 1) = Application.Transpose(d.keys)
Dim rng, arr1, arr2, m
arr1 = Range("m1:m39")
For Each rng In arr1
m = m + 1
arr2 = VBA.Split(rng, "#")
Cells(m, 13).Resize(1, UBound(arr2) + 1) = arr2
Next
End Sub