【发布时间】:2018-06-16 21:00:14
【问题描述】:
例子:
Sub1 生成一个数组 Sub2 使用该数组
唯一有效的方法是在 Sub1() 中调用 Sub2(array as Variant)。我全局声明数组变量。
Dim arr1() As Variant
Sub aaa()
Dim col As Integer
Dim row As Integer
startingPoint = "B2"
col = Range(startingPoint).Column
row = Range(startingPoint).row
cols = Range(Cells(row, col), Cells(row, col).End(xlToRight)).Count
ReDim arr1(cols)
For myCounter = 1 To cols
arr1(myCounter) = Cells(row, col + myCounter - 1).Value
Next
For myCounter = 1 To cols
Cells(myCounter, 1).Value = arr1(myCounter)
Next
bbb (arr1)
End Sub
Sub bbb(arr1 As Variant)
Dim myCounter As Integer
For myCounter = 1 To 4
Cells(myCounter, 1).Value = arr1(myCounter)
Next
End Sub
如果我不在 sub aaa 中调用 sub bbb,它甚至不允许我执行 sub bbb。它工作的唯一方法是上面的代码,但我不想每次需要调用 sub bbb 时都调用 sub aaa,我想保存 sub aaa 生成的数组并在其他 subs 中使用它而不再次调用它。谢谢
【问题讨论】: