我有一个代码,在一个子中我开始填充数组。后来在另一个子程序中,我尝试使用其他信息填充相同的数组。它无法工作,因为我收到运行时错误9.我被告知我不能这样做,因为redim不能用于我的数组的第一维。
我的问题是我可以通过另一种方式完成这项工作吗?以下是我到目前为止的情况。
发生错误:
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
答案 0 :(得分:0)
副手,您的范围不正确。 Part2试图引用一个仅属于Part3的变量。它应该是这样的:
.center-helper {
position: relative;
top: 50vh;
left: 0;
translateY(-50%);
}
如果你在同一个模块中重构你的声明,那么WorkArray将成为两个子程序的可用变量。