Arrays 如何从范围中获取数据,然后将它们放入数组中,并在excel vba中对它们进行排序?
我需要从一列(sheet1中的c列)中获得唯一值,并在数组中获得唯一值,以便可以从该数组中再次重用它们Arrays 如何从范围中获取数据,然后将它们放入数组中,并在excel vba中对它们进行排序?,arrays,excel,vba,Arrays,Excel,Vba,我需要从一列(sheet1中的c列)中获得唯一值,并在数组中获得唯一值,以便可以从该数组中再次重用它们 我是新手,请帮帮我 此代码只是为了让您开始。要了解其工作原理,请首先选择数据范围,然后逐步完成此代码。请注意,排序后,它会将范围放入变量(a)中,然后仅为了确认它在其中,变量会放入原始变量旁边的一个范围中。然后,您可以根据需要使用变体 Sub sort() Dim r As Range, a As Variant Set r = Selection With ActiveSheet
我是新手,请帮帮我 此代码只是为了让您开始。要了解其工作原理,请首先选择数据范围,然后逐步完成此代码。请注意,排序后,它会将范围放入变量(a)中,然后仅为了确认它在其中,变量会放入原始变量旁边的一个范围中。然后,您可以根据需要使用变体
Sub sort()
Dim r As Range, a As Variant
Set r = Selection
With ActiveSheet.sort
.SetRange r
.Apply
End With
a = r
r.Offset(0, 1) = a
End Sub
您可以使用
字典
对象
这里有一个函数,用于从传递的范围
引用中检索所有唯一值
Function uniqueValues(columnRng As Range) As Variant
Dim cell As Range
With CreateObject("Scripting.Dictionary")
For Each cell In columnRng.SpecialCells(xlCellTypeConstants)
.Item(cell.Value) = 1
Next
uniqueValues = .Keys
End With
End Function
此功能可在“main”代码中被利用,如下所示:
Sub main()
Dim values As Variant
values = uniqueValues(Columns("C"))
End Sub