View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Ola Lövgren Ola Lövgren is offline
external usenet poster
 
Posts: 1
Default arrays - module to module

Hi!

Either you can declare the array as a public variable on the General section of one of the modules and then simply reference the array in both modules since it is a global variable, or you can send it from Sub (or Function) to Sub (or Function) as a parameter. A variant can contain an array so you can allso send the array in a variant parameter but if you know the typw of data you just declare an array without telling the size in the parameter declaration.

Example:

Sub test()
Dim lngArray(10) As Long

PopulateArray lngArray()
PrintArray lngArray()
End Sub

Public Sub PopulateArray(ByRef lngArray() As Long)
Dim lngLowerBound As Long
Dim lngUpperBound As Long
Dim lngCounter As Long

lngLowerBound = LBound(lngArray)
lngUpperBound = UBound(lngArray)

For lngCounter = lngLowerBound To lngUpperBound
lngArray(lngCounter) = lngCounter
Next
End Sub

Public Sub PrintArray(ByRef lngArray() As Long)
Dim lngLowerBound As Long
Dim lngUpperBound As Long
Dim lngCounter As Long

lngLowerBound = LBound(lngArray)
lngUpperBound = UBound(lngArray)

For lngCounter = lngLowerBound To lngUpperBound
Debug.Print lngArray(lngCounter)
Next
End Sub

In this example the three different Subs can be placed in three different modules and still work together.

Good luck!