动态添加阵列以创建2D阵列

问题描述 投票:1回答:1

我已经查看了关于这个主题的每一篇文章,但我似乎无法得到任何工作。

我希望能够自己使用2D数组,但我认为最好的办法就是制作一个巨大的一维数组。

Sub GatherData()
Dim width As Integer: width = 22

Dim data() As Variant
ReDim roadway(width) As Variant

Dim str As Variant
Dim arrayWidth As Integer

With ThisWorkbook.Worksheets("List of Roads").Range("A1")

    For r = 0 To 400 '400 is an arbitrary number
        If Not IsEmpty(.Offset(r, 0).value) Then
            If IsStreet(UCase(.Offset(r, 0).value), UCase(.Offset(r, 1).value)) Then
                For c = 0 To width - 1
                    roadway(c) = .Offset(r, c).value
                Next c
            End If

            'add roadway array to the end of data()

        End If
    Next r
End With

End Sub

如果我按照自己的方式进行操作,这个2D数组将具有未知数量的行,每行包含22列。我无法理解如何将数组动态添加到一起。

arrays vba excel-vba multidimensional-array excel
1个回答
1
投票
Dim data
data = ThisWorkbook.Worksheets("List of Roads").Range("A1").Resize(400, 22).Value

会给你一个2D数组(1到400,1到22)

© www.soinside.com 2019 - 2024. All rights reserved.