📅  最后修改于: 2023-12-03 14:52:17.167000             🧑  作者: Mango
在 Excel 中,我们经常需要对数据进行去重操作,以保证数据的准确性和合法性。而在 VBA 中,我们可以通过数组来实现去重操作,以下是具体实现步骤。
首先,我们需要定义一个数组来存储要去重的数据。数组可以是一维或多维的,可以根据实际情况进行定义。
' 声明一个一维数组,用于存储数据
Dim arrData() As Variant
然后,我们需要将待去重的数据读入数组中。数据来源可以是 Excel 表格中的一列数据,也可以是其他数据源。
' 读取 Excel 表格中的一列数据
arrData = Range("A1:A10").Value
接下来,我们可以使用 VBA 的内置函数或自定义函数来实现数组去重。以下是一种常用的去重方法,可以根据实际情况进行适当修改。
' 去重操作
Function RemoveDuplicates(arr As Variant) As Variant
Dim dict As Object ' 声明字典对象
Set dict = CreateObject("Scripting.Dictionary") ' 创建字典对象
' 遍历数组中的元素,将不重复的元素添加到字典中
For i = LBound(arr) To UBound(arr)
If Not dict.exists(arr(i, 1)) Then
dict(arr(i, 1)) = ""
End If
Next i
' 将字典中的元素复制到新数组中,并返回新数组
RemoveDuplicates = dict.keys
End Function
' 调用去重函数
arrUnique = RemoveDuplicates(arrData)
最后,我们可以将去重后的结果输出到 Excel 表格中,或者进行其他操作。以下是将结果输出到 Excel 表格中的代码。
' 将去重后的结果输出到 Excel 表格中
Range("B1").Resize(UBound(arrUnique), 1).Value = WorksheetFunction.Transpose(arrUnique)
至此,我们就完成了从数组中删除重复项的操作。