VBA如何实现数组快速去重
时间: 2023-06-22 16:24:08 浏览: 128
二维数组去除重复项
在VBA中,可以使用一个字典对象来实现数组的快速去重。具体的做法是,将数组中的元素作为字典的键,这样重复的元素只会在字典中存在一次,最后再将字典中的键存入一个新的数组中,即可得到去重后的数组。以下是一个示例代码:
```vb
Sub UniqueArr()
Dim arr() As Variant
arr = Array(1, 2, 3, 4, 2, 3, 5)
Dim dict As New Scripting.Dictionary
Dim i As Long
'将数组元素作为字典的键,去重
For i = 0 To UBound(arr)
If Not dict.Exists(arr(i)) Then
dict.Add arr(i), ""
End If
Next i
'将字典中的键存入新的数组中
Dim uniqueArr() As Variant
uniqueArr = dict.Keys
'输出去重后的数组
For i = 0 To UBound(uniqueArr)
Debug.Print uniqueArr(i)
Next i
End Sub
```
这段代码中,首先创建了一个包含重复元素的数组。然后创建了一个字典对象,并将数组中的元素作为字典的键,通过判断键是否已经存在来去重。最后将字典中的键存入一个新的数组中,并输出去重后的数组。
阅读全文