Likely you could pass any object to any procedure in any module. While I don't see the point in passing things like forms or controls, I know you can pass a record set so I don't see why you couldn't pass an array. You have to declare them as the proper object type. Because they're not variables, scope doesn't apply. I have passed record sets and even Excel objects to functions in modules other than the module that contains the calling code.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.