![]() |
Run-time error '7'
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 |
Run-time error '7'
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" 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 |
Run-time error '7'
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. -- HTH... Jim Thomlinson "Jim Cone" wrote: 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" 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 |
Run-time error '7'
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" 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. -- HTH... Jim Thomlinson "Jim Cone" wrote: 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" 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 |
Run-time error '7'
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! -- HTH... Jim Thomlinson "Jim Cone" wrote: 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" 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. -- HTH... Jim Thomlinson "Jim Cone" wrote: 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" 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 |
All times are GMT +1. The time now is 09:57 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com