我已经查看了关于这个主题的每一篇文章,但我似乎无法得到任何工作。
我希望能够自己使用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列。我无法理解如何动态添加数组。
答案 0 :(得分:1)
Dim data
data = ThisWorkbook.Worksheets("List of Roads").Range("A1").Resize(400, 22).Value
会给你一个2D数组(1到400,1到22)