Arrays 我需要一个数组,它可以从不同大小的n中取值,并且需要对应于给定的列表

Arrays 我需要一个数组,它可以从不同大小的n中取值,并且需要对应于给定的列表,arrays,excel,vba,algorithm,Arrays,Excel,Vba,Algorithm,这就是我目前所知道的,但我不知道该怎么办 `子设置列表() Dim UnsortedList(1到100000,1到1)为双精度 我想我会坚持多久 对于i=1到100000 未分类列表(i,1)=Rnd(-i) 接下来我 范围(“A1:A100000”)。值=未排序列表 端接头 Sub InitializeA() Dim i As Long n = Cells(2, 2).value ReDim A(1 To n)

这就是我目前所知道的,但我不知道该怎么办 `子设置列表() Dim UnsortedList(1到100000,1到1)为双精度 我想我会坚持多久 对于i=1到100000 未分类列表(i,1)=Rnd(-i) 接下来我 范围(“A1:A100000”)。值=未排序列表 端接头

    Sub InitializeA()

        Dim i As Long

        n = Cells(2, 2).value
        ReDim A(1 To n)
                For i = 1 To n
            A(i) = Cells(i, 1).value
        Next i
    End Sub

下面是一种将列表的一部分打印到电子表格上的方法

Option Explicit
'this generates the list and I need to create an array from this list for different sizes of n
Sub SetUpList()
    Dim UnsortedList(1 To 100000, 1 To 1) As Double
    Dim i As Long, N As Long
    Dim A As Variant, R As Range

    For i = 1 To 100000
        UnsortedList(i, 1) = Rnd(-i)
    Next i
    Range("A1:A100000").Value = UnsortedList

    N = Cells(2, 2).Value
    'this allows us to determine the size of the array which will vary because there can be different sizes of n

    Initialize

End Sub

Sub Initialize()
    Dim rDest As Range
    Dim i As Long, N As Long
    Dim A As Variant
    Dim UnsortedList As Variant

UnsortedList = Range("A1", Cells(Rows.Count, "A").End(xlUp))
N = Cells(2, 2)
Set rDest = Range("C1")

ReDim A(1 To N, 1 To 1)
    For i = 1 To N
        A(i, 1) = UnsortedList(i, 1)
    Next i

    Set rDest = rDest.Resize(rowsize:=N)
    rDest.EntireColumn.Clear
    rDest = A
End Sub

为什么不将
范围调整为所需大小,然后将所有值一次拉入一个数组?欢迎使用StackOverflow!请访问页面:,因为您的帖子没有对问题的描述,这里也没有明确的问题。您的问题是什么?你想做什么?
Range(“A1:A”&n)
我会支持@Comintern动态地将Range拉入数组。有几种方法可以先确定范围大小,然后只拉入所需范围。不过,我们首先需要更多的细节。@RonRosenfield感谢您让我的代码实现了我现在想要的功能。我真的很感激你的帮助help@JonathanAkinrele很乐意帮忙。如果你能把我的回答作为答案,我将不胜感激。