Workbook, Once Created, is Too Big for Memory

by Allen Wyatt
(last updated July 8, 2014)

7

Subscriber John Hersey created a worksheet that contained lots and lots of information. In column A he placed 65534 words (rows 1 through 65534), then in columns B through Z he placed formulas to the side of all those words. When he saved the workbook and tried to reopen it, he got a "Not Enough Memory" error. Since the workbook only took 84MB on the disk, and he has 512MB in his system, the error message seemed confusing.

Comparing disk file size to RAM space is, in some respects, comparing apples to oranges. Excel doesn't store a workbook as a "memory dump." Instead, it compresses the data from memory so that the disk files are more manageable. Thus, the 84MB file will necessarily take more space once loaded into memory.

The amount of memory in your system may not be the problem, however. Different versions of Excel place different limits on the number of formulas you can have in a workbook, and this is likely the problem you ran into. (It is curious, however, that you were able to create the worksheet, use it, save it, but then not load it.)

Excel 95, 97, and 2000 are officially limited to 64MB of formula memory (heap space) for workbooks. Excel 2002 raised the limit to 128MB, and Excel 2003 raised it even further--to 1GB. Since Doug is using Excel 2000, he could theoretically open the workbook on a system that uses a later version of Excel.

If that doesn't work, or if it is not possible, then there are a few other things to try. First, try opening Excel without any add-ins or hidden workbooks. These take up memory, and by starting without them, you leave more room for the mondo workbook. Choose Run from the Start menu to display the Run dialog box. In the Open box, enter the following:

"C:\Program Files\Microsoft Office\Office\Excel.exe" /Automation

The quotes are mandatory, and you might have to change the path to reflect where Excel is installed on your system. When Excel is started, turn off automatic calculation (Tools | Options | Calculation tab), then try to open the file.

If the file can be opened, remove most of the calculations. Copy the results of the calculations, then use Edit | Paste Special | Values to paste the results over the top of the formulas. Plain results--particularly numeric results--take much less space than formulas do. If you resave the file (using Save As), you should note that the resulting disk file is much smaller than the 84MB of the existing workbook file.

If you cannot open the file, you could read the values using some of the techniques outlined for corrupt files in this Knowledge Base article:

http://support.microsoft.com/kb/179871

Using these recovery methods will cause you to lose the formulas, but you can get their values. You will also find a good discussion on Excel and memory-related problems at this Web page:

http://www.decisionmodels.com/memlimitsc.htm

As a side note, if you ever want to determine how much memory Excel is using for a particular workbook, use the following formula in any cell:

=INFO("memused")

The function returns the used memory, in bytes.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2545) applies to Microsoft Excel 97, 2000, 2002, and 2003.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Bogging Down with Calculated Items

Create a complex PivotTable and you may find that your system slows to a crawl. The reason for this may be due to the way in ...

Discover More

Changing Font Color

There are any number of reasons to format different cells in different colors. Excel allows you to easily change the color ...

Discover More

Selecting Multiple Cells by Mistake

Click on a cell and you expect the single cell to be selected. If you instead get a group of cells, it can be frustrating to ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More ExcelTips (menu)

Creating a Workbook Clone

If you are afraid of messing up a workbook, consider doing your work on a clone of the workbook. Excel provides an easy way ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 9 - 2?

2014-12-01 13:16:14

Carlos

From Excel help: In previous versions of Microsoft Excel, the "memavail", "memused", and "totmem" type_text values, returned memory information. These type_text values are no longer supported and now return a #N/A error value.


2014-10-28 07:24:43

Kathryn

How can I get this information (how much memory used) for a 2010 or 2013 workbook?


2014-07-09 08:07:30

Barry

If you have lots of very similar formulas which essentially only vary because of the relative cell references (which is often the case). Then using a "Named" formaula can save a lot of space.

Creating Named formulas can be tricky/fiddly to set up though, and is probably a good subject for another tips.


2014-07-09 01:12:21

MA Subhan

Thanks for sharing this information. This was very helpful.
MA Subhan
www.upskilltechnologies.com


2011-11-25 18:52:26

Dave Unger

Hi Allen,

Yes, you're absolutely right - and it does work with 2003, as you suggest. I guess I was so impressed with this tip that I failed to pay attention to the "applies to" section. My mistake, sorry.

regards,

DAve


2011-11-25 11:20:17

awyatt

Dave,

You did notice that this tip was for Excel 97 through Excel 2003, right? It may very well not work with Excel 2010.


2011-11-25 11:18:14

Dave Unger

=INFO("memused")??? "Memused" doesn't seem to be available in the dropdown when typing in "=Info", and if I manually complete the formula I get #N/A - using Excel 2010.

Thanks,
Dave


This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.