Run-time error '7'

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have gotten a Run-time error '7':
Out of memory

in the follwong code:
Public m2() As Double
Public m1() As Double
Public Sub jk()
j = 41000
k = 817
ReDim m1(j, k)
ReDim m2(j, k)
End Sub
 
Those are very, very large arrays and they take a lot of memory.
Also, you have not declared the j and k variables and that uses extra memory.
If you can use a Long data type, it will probably work for you.

In addition, they would be much more efficient if you eliminated the need for
the project level scope for the arrays and declared smaller arrays.
You can increase the size of the last dimension of an array at any time
using ReDim Preserve...

Public m2() As Long
Public m1() As Long

Public Sub jk()
Dim j as Long
Dim k as Long
j = 41000
k = 817
ReDim m1(j, k)
ReDim m2(j, k)
End Sub
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware



"Soquete" <[email protected]>
wrote in message
I have gotten a Run-time error '7':
Out of memory

in the follwong code:
Public m2() As Double
Public m1() As Double
Public Sub jk()
j = 41000
k = 817
ReDim m1(j, k)
ReDim m2(j, k)
End Sub
 
I still think the OP will run out of memory (unless as you show they change
M1 and M2 to arrays of type Long (4 bytes instead of 8)). The allocation will
still be on the order of half a Gig of memory which is just not feasable...
Using Long arrays you will be down to 250 meg which you will probably get
away with so long as you have a good sense of humor and a lot of patience.
 
Jim,
Using Doubles almost stopped my system, but it struggled thru.
Using Longs made a real difference, but Excel still had to think about it..
I had never seen Excel balk when sizing arrays until I ran the op's code..
Jim Cone


"Jim Thomlinson"
<[email protected]>
wrote in message
I still think the OP will run out of memory (unless as you show they change
M1 and M2 to arrays of type Long (4 bytes instead of 8)). The allocation will
still be on the order of half a Gig of memory which is just not feasable...
Using Long arrays you will be down to 250 meg which you will probably get
away with so long as you have a good sense of humor and a lot of patience.
 
The OP's code caused the hamster in my machine to keel over. It made it
through ok on the Long but with Double being twice the size of a long... Boom!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top