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!
|