-1
我有一个代码,在一个子我开始填充一个数组。后来在另一个子我试图用附加信息填充相同的数组。它不工作,因为我收到运行时错误9.我被告知我不能这样做,因为redim不适用于我的数组的第一维。我可以使用两个differeent subs来填充相同的数组吗?
我的问题是否有另一种方法可以完成这项工作?以下是我到目前为止。
错误发生:
Sub PartTwo()
ReDim WorkArray(1 To GEMclass.NumofP, 1 To 4)
For c = 1 To UBound(FullArray, 1)
If GEMclass.g = FullArray(c, 1) Then
Count = Count + 1
WorkArray(Count, 1) = FullArray(c, 1)
WorkArray(Count, 2) = FullArray(c, 4)
WorkArray(Count, 3) = FullArray(c, 7)
WorkArray(Count, 4) = FullArray(c, 6)
End If
Next c
ReDim Preserve WorkArray(1 To GEMclass.NumofP, 1 To 4)
CumulativePartners = GEMclass.NumofP
End Sub
Sub PartThree()
For e = 1 To Count
If dict.Exists(WorkArray(e, 2)) Then
TempCP = CumulativePartners
CumulativePartners = CumulativePartners + dict(WorkArray(e, 2)).NumofP
For f = 1 To UBound(FullArray, 1)
If WorkArray(e, 2) = FullArray(f, 1) Then
For g = 1 To dict(WorkArray(e, 2)).NumofP
Dim test As Integer
test = TempCP + g
WorkArray(test, 1) = FullArray(f, 1)<---Runtime error 9
WorkArray(test, 2) = FullArray(f, 4)
WorkArray(test, 3) = FullArray(f, 7)
WorkArray(test, 4) = FullArray(f, 6)
Next g
End If
Next f
ReDim Preserve WorkArray(1 To CumulativePartners, 1 To 4)
Else
MsgBox "No"
End If
Next e
End Sub
当你得到错误时'test'和'UBound(WorkArray,1)'的值是什么? – Comintern
可能的重复:http://stackoverflow.com/questions/16369217/redim-preserve-to-a-multi-dimensional-array-in-visual-basic-6 – Jeremy
第1步:使用Option Explicit并理解变量范围。 “WorkArray”在哪里申报?谁在叫'PartTwo'?谁在叫'PartThree'? –