Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何从范围中获取数据,然后将它们放入数组中,并在excel vba中对它们进行排序?_Arrays_Excel_Vba - Fatal编程技术网

Arrays 如何从范围中获取数据,然后将它们放入数组中,并在excel vba中对它们进行排序?

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

我需要从一列(sheet1中的c列)中获得唯一值,并在数组中获得唯一值,以便可以从该数组中再次重用它们


我是新手,请帮帮我

此代码只是为了让您开始。要了解其工作原理,请首先选择数据范围,然后逐步完成此代码。请注意,排序后,它会将范围放入变量(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