True Conversion to a new Excel File Format

RobExcel

Board Regular
Joined
Jan 6, 2010
Messages
69
I have a large Excel file that I believe was originally created in Lotus 123. The file has been converted over the past 10+ years to each new version of Excel etc. It's been actually "Converted" using the menus in Excel and has been "saved as" xlsm and xlsb. I think creating a fresh file that had all the same calcs etc would fix the problem, so I'm looking for a relatively easy way to do this (more below).

My problem is that the file occasionally hangs Excel on some computers and it takes over a minute to open. The long open time occurs after Excel displays the file and after I tell it not to update external links. Typically, I would expect a delay like this to be related to calculation time or rebuilding of the dependency tree, but this doesn't seem to be the case as Full calc time is roughly 0.06 seconds. A full calc with a rebuild of the dependency chain can be performed in much less than 0.2 seconds (I don't have a precise timer for this one...).

My file is not terribly complex. It is not too big, at 9MB as an xlsm. It has 98 sheets. It has external links, but breaking the links has no effect on load time. I've cleaned up the names and there are no external or bad names. There are about 200 valid names, all are simple cell references. There are no objects and a minimal number of cell comments. There's a BeforePrint macro, but no other macros. The problem occurs with no addins and with no other applications open. This phenomenon occurs in Excel 2007 and 2010.

I've gone through all the steps listed at http://www.decisionmodels.com/optspeedd.htm

I've used FastExcel to clean various things such as ranges, unused styles and number formats, clearing the temp folder, etc.

I suspect that the file is retaining some of the original Lotus architecture or something from a prior version of Excel. I know in older versions of Excel a sheet could become corrupted and would drag down the whole file. If you created a new workbook and copied everything into it, exactly the same, all issues were resolved. Due to the large number of sheets etc, it would be challenging to copy everything to a new file. Is there an easier way to force a true conversion to the latest file formats?

Thanks in advance.
Rob
 
Last edited:

Excel Facts

Why does 9 mean SUM in SUBTOTAL?
It is because Sum is the 9th alphabetically in Average, Count, CountA, Max, Min, Product, StDev.S, StDev.P, Sum, VAR.S, VAR.P.
You may wish to check out LibreOffice; however, it is not a sure bet. LibreOffice does not do macros - your BeforePrint macro will have to be copied manually.

Hope this helps... feedback would be appreciated.
 
Upvote 0
Replacing Excel with a competing product isn't an option, our business requires full compatibility and testing with other users of Excel.
 
Upvote 0
Replacing Excel with a competing product isn't an option, our business requires full compatibility and testing with other users of Excel.
My suggestion was not to use LibreOffice as a replacement; rather, use LibreOffice to help you convert your older files to newer versions - there are limitations, of course.
 
Upvote 0
Are you suggesting that the file be imported into LibreOffice and then imported back? I'm not sure I understand what you're proposing.
 
Upvote 0
Are you suggesting that the file be imported into LibreOffice and then imported back? I'm not sure I understand what you're proposing.
Yes, RobExcel, that is the essence of my suggestion (the second phase is more like exporting). LibreOffice, like OpenOffice, opens files saved in a variety of formats: Excel, Lotus 123, Quattro Pro, Open Document Format, etc. After opening the relevant file (I would use a copy for the practice run) with LibreOffice, have LibreOffice save it (using Save As) in the format you want (.xlsx, I presume).

Again, this solution is far from perfect, but surely beats entering all the data manually.

Since LibreOffice is free, a few minutes of your time is the only investment needed to check out this potential solution.

Good luck...
 
Upvote 0
I've got too many concerns with loss of formatting, print settings, named ranges, Excel 2007 special formulas (or any other unsupported formula), etc to try exporting to another program and back in... decent idea though.

I ended up writing a macro that went sheet by sheet, added a new sheet in a fresh workbook, copied all cells, and pasted it into the new sheet. I then had a macro cycle through all the names and create a new version of each. Then I had a macro go through all the print settings for all the tabs and set those to be equivalent.

I then had to update links from the old file to the new file, since I copied sheet contents individually.

The new file is 1/3 the size and has no delay issues. All told, it took about 90 minutes. Not too bad. Much better than I expected.
 
Upvote 0

Forum statistics

Threads
1,223,231
Messages
6,170,884
Members
452,364
Latest member
springate

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top