vba代码,获取一块range区域的不重复数据,并作为一维数组返回
时间: 2024-03-04 07:48:06 浏览: 113
Excelvba.rar_Excel VBA_excel vba入门
以下是一个获取一块Range区域不重复数据并作为一维数组返回的VBA代码示例:
```
Function GetUniqueDataInRange(rng As Range) As Variant
Dim dict As Scripting.Dictionary
Set dict = New Scripting.Dictionary '创建字典对象
Dim cell As Range
For Each cell In rng '遍历范围中的每个单元格
If Not dict.Exists(cell.Value) Then '如果字典中不存在该值,则添加到字典中
dict.Add cell.Value, 1
End If
Next cell
Dim uniqueData() As Variant
ReDim uniqueData(1 To dict.Count)
Dim i As Long
For i = 1 To dict.Count '将字典中的值存储到数组中
uniqueData(i) = dict.Keys(i - 1)
Next i
GetUniqueDataInRange = uniqueData '将不重复数据作为函数返回值
End Function
```
上述代码中,我们将获取不重复数据的逻辑封装成了一个函数。函数的参数为要获取不重复数据的范围,返回值为一个一维数组,其中存储了不重复数据。在函数中,我们使用了一个字典对象(Scripting.Dictionary)来存储不重复的数据。遍历范围中的每个单元格,如果字典中不存在该值,则将其添加到字典中。最后,将字典中的值存储到一个一维数组中,并将该数组作为函数的返回值。
阅读全文