从VBA中的循环中保存单个数组

时间:2013-04-26 09:52:06

标签: arrays vba

所以我有一个数组x(i,j),它位于循环k = 1到n的内部,其中n由用户设置。每次进入下一个k时它都会更新。我想知道是否可以将循环中创建的每个数组保存到内存中,以便我可以在其他时间回忆它们?

例如,我认为我可以按照以下方式做点什么:

For k = 1 to n
...
SavedArray(k) = x(i,j)
...
next k

所以我记得,例如,SavedArray(58),这可能是循环的第58次迭代。

这可行吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

这取决于什么是X,以及你想要保存什么。

如果X(i,j)只是整数,那么只需创建一个新数组并保存它:MyArr(k) = X(i,j)

如果X(i,j)是数组(因此X是1D数组的2D~3D) - 你可以使用数组数组来保存它。

为简化解决方案,您可以创建一个新类型,例如:

Public Type typeArray
    X(1 To 10)         As Integer 
    Y(1 To 10)         As Integer 
End Type 

并声明:

Public SavedArray(1 To 10)  As typeArray

现在你可以按照自己的意愿使用它。