2017-10-14 72 views
0

我有一个关于在打开的工作簿中调用数组的问题。VBA:创建和排列一次,在Excel中多次调用

我有一个庞大的数组,它是在运行一个宏时创建的,它大约需要10秒来运行开始到结束(不是过分的,但是不够方便)。

我希望能够创建一次数组,然后使用工作表中的更改来更新显示的数据。

例如:我有多个客户存储在数组的第一维中,然后在更深层次上有关他们的更详细的信息。我希望对单元格A1使用用户输入更改(输入新的客户ID)以调用数组中的一组不同的值 - 并显示。

我在运行一个宏来创建整个数组之前就已经完成了这一步 - 但是这次我想避免“创建数组”的过程,并且只是将它存储在工作表中。

有没有简单的方法来做到这一点?

预先感谢您!

回答

0

使阵列全球(从所有工作簿访问), 声明它的模块中,任何子\函数之前:

Option explicit 

Public Arr() as string 'for example 


Sub firstsub() 
.... 
End sub 

另外,为了使该阵列的范围更小的,您可以在工作表的代码中将其声明为私有。但是由于需要与数组进行交互的10位宏,这会更难以实现。