vba代码,获取一块range区域的不重复数据
时间: 2024-03-04 07:48:06 浏览: 132
以下是一个获取一块Range区域不重复数据的VBA代码示例:
```
Sub GetUniqueDataInRange()
Dim rng As Range
Set rng = Range("A1:A10") '设置要获取不重复数据的范围
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, 1 To 1)
Dim i As Long
For i = 1 To dict.Count '将字典中的值存储到数组中
uniqueData(i, 1) = dict.Keys(i - 1)
Next i
Range("B1").Resize(UBound(uniqueData, 1), 1).Value = uniqueData '将不重复数据写入指定单元格
End Sub
```
上述代码中,我们使用了一个字典对象(Scripting.Dictionary)来存储不重复的数据。遍历范围中的每个单元格,如果字典中不存在该值,则将其添加到字典中。最后,将字典中的值存储到一个数组中,并将数组中的值写入指定单元格。
阅读全文