Thread: Erase Arrays
View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Bob Kilmer Bob Kilmer is offline
external usenet poster
 
Posts: 280
Default Erase Arrays

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/