I don't know if you consider this any better, but you could create a
collection of your arrays and loop thru the collection.
Option Explicit
Private mcolArrays As Collection
Sub Main()
Set mcolArrays = New Collection
Dim Array1(1) As Integer
Dim Array2(1) As Integer
Dim Array3(1) As Integer
Dim Array4(1) As Integer
Array1(0) = 1
Array1(1) = 2
mcolArrays.Add Array1
mcolArrays.Add Array2
mcolArrays.Add Array3
mcolArrays.Add Array4
EraseArrays
End Sub
Public Sub EraseArrays()
Dim v As Variant
For Each v In mcolArrays
Erase v
Next v
End Sub
"adriant42 " wrote in message
...
Hi:
I have 20 or so module-level arrays that I want to Erase after each
calling. My current code follows:
Module A
-----------------------
Private Array1() as Integer, _
Array2() as Long, _
Array3() as Double, _
:
:
Array20() as Integer
Public Sub Sub1()
...Code
End Sub
Public Sub EraseArray()
Erase Array1
Erase Array2
:
:
Erase Array20
End Sub
-------------------------------
Module B
------------------------
Sub Sub2()
Dim i as Integer
For i = 1 to 3
Sub1
EraseArray
Next i
End Sub
-------------------------------------
I use EraseArray to make sure that the new run doesn't retain any old
values. My question is there a way to reset my module-level array
without actually typing all 20 or so arrays like what I did in my Sub
EraseArray()
Regards,
Adrian T
---
Message posted from http://www.ExcelForum.com/