Excel VBA如何删除数组中重复的值?

Excel VBA如何删除数组中重复的值?,第1张

使用集合Collection的key唯一性除去重复的值

Sub A()

Dim A(1 To 100)

Dim b As New Collection

Dim i As Integer

A(1) = 1

A(2) = 3

A(3) = 5

A(4) = 7

A(5) = 3

A(6) = 5

A(7) = 2

On Error Resume Next

For i = 1 To 100

b.Add A(i), Str(A(i))

Next i

For i = 1 To b.Count

A(i) = b(i)

Next i

End Sub

Sub zidian()

    Dim d, r, ar, i

    Set d = CreateObject("scripting.dictionary")

    r = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row

    ar = Range("a2:a" &r)

    For i = 1 To UBound(ar)

        d(ar(i, 1)) = ""

    Next

    [c2].Resize(d.Count, 1) = Application.Transpose(d.keys)

    Set d = Nothing

End Sub

你直接说你要做什么吧,一般没人用Collection,EXcelhome论坛上几乎没有人用Collection。

你写这么烂的程序,浪费我半小时调试时间,真不值。

我们去重就两种方法,要么用excel数据菜单里自带的‘删除重复值’,录制个宏自己改;要么用字典,值写进去就OK,再把d.keys给回数组或excel表格区域。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6421952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存