64kb limit to module code

57 views
Skip to first unread message

Stuart

unread,
Aug 23, 2003, 1:52:30 PM8/23/03
to
Within the last day or so Rob Bovey replied to an OP
and included the comment that (sic) "a module should
not exceed 64kb" ( I think that's what was said).

Would someone be kind enough to explain the reasons
behind this advice, please?

Would this apply to all modules (Standard, Class etc),
and would this equally apply to AddIns?

Regards.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.512 / Virus Database: 309 - Release Date: 19/08/2003


Tom Ogilvy

unread,
Aug 23, 2003, 2:02:14 PM8/23/03
to
What is there to explain? If you export a module as a file, then look at
the file size, it if it greater than 64KB, then, based on Rob's experience
and that of others, one may experience strange problems with the
application.

Since this is not a documented restriction, it would be hard to definitively
say what the exact restrictions are, but I would suggest that as a rule of
thumb, regardless of the type of module, keep the size to less than 64 KB.

--
Regards,
Tom Ogilvy


Stuart <sg_b...@hotmail.com> wrote in message
news:ucqGC#ZaDHA...@tk2msftngp13.phx.gbl...

Stuart

unread,
Aug 23, 2003, 2:14:52 PM8/23/03
to
Ok so if a project contains modules > 64Kb and that
project is saved as an AddIn, then ok.
If an individual module greater than 64KB were to be
exported from that AddIn, then problems.

Regards and thanks.

Tom Ogilvy" <twog...@msn.com> wrote in message
news:uPS5WBaa...@TK2MSFTNGP12.phx.gbl...

Tom Ogilvy

unread,
Aug 23, 2003, 2:24:43 PM8/23/03
to
The 64kb problem would apply to addins as well.

--
Regards,
Tom Ogilvy

Stuart <sg_b...@hotmail.com> wrote in message

news:OcJNgLaa...@TK2MSFTNGP09.phx.gbl...

David

unread,
Aug 23, 2003, 2:57:26 PM8/23/03
to
How does one check, just the size of the module? If it
excedes 64 k, then is the best way to export it, not to
export it, but to maybe put the code in a word document
then copy it out to a "newly" establised module in the
exported Excel file?

Thanks,
David

>.
>

Rob Bovey

unread,
Aug 23, 2003, 3:15:22 PM8/23/03
to
Hi David,

The easiest way to check one module is to export it and then look at the
file size of the exported module in Explorer. If the module is too large,
add a new module to your Excel project and move code from the module that is
too large into the new module until the module that was too large falls
below 64KB.

--
Rob Bovey, MCSE, MCSD, Excel MVP
Application Professionals
http://www.appspro.com/

* Please post all replies to this newsgroup *
* I delete all unsolicited e-mail responses *


"David" <NoJ...@Junk.com> wrote in message
news:010f01c369a8$65008160$a401...@phx.gbl...

RB Smissaert

unread,
Aug 24, 2003, 5:30:21 AM8/24/03
to
Rob,

This is interesting.
I just exported a module from an add-in and the module size is 450 Kb.
This is the file Module1.bas is 450Kb.
Now this is an add-in and sofar I haven't found any problems yet.
It would be a nuisance to split this module in 8.
What kind of problems could one have and are there particular situations
where they are more likely to happen?
Thanks for any advice.

RBS


"Rob Bovey" <Rob_...@msn.com> wrote in message
news:%23XPR2ra...@TK2MSFTNGP12.phx.gbl...

Myrna Larson

unread,
Aug 24, 2003, 11:59:24 AM8/24/03
to
Problems like crashes, code that used to work doesn't work now, can't compile, etc. It may be a
nuisance to split this up now, but I guarantee it will be a much bigger nuisance if you start
getting errors that you assume to be logical errors on your part when in fact your code is find
and they are due to this problem.

RB Smissaert

unread,
Aug 24, 2003, 12:55:15 PM8/24/03
to
OK. Have split this up now. Took about 2 hours, but perhaps it is time well
spent.

RBS

"Myrna Larson" <myrna...@charter.net> wrote in message
news:d4ohkv83cpm4cn2b9...@4ax.com...

Rob Bovey

unread,
Aug 24, 2003, 2:43:45 PM8/24/03
to

To add to Myrna's response, 64KB is not some kind of absolute limit. In
fact I don't even know where that particular size originated. Lacking any
guidance from MS, and faced with an obvious problem, it may simply have been
empirically determined by the Excel development community that size-related
problems stopped once modules were smaller than this.

It's very rare to see immediate problems upon exceeding the 64KB size
limit. The problems tend to appear over time and manifest themselves as
strange logical or structural errors in your code for which no obvious cause
can be found.

--
Rob Bovey, MCSE, MCSD, Excel MVP
Application Professionals
http://www.appspro.com/

* Please post all replies to this newsgroup *
* I delete all unsolicited e-mail responses *


"RB Smissaert" <bartsm...@blueyonder.co.uk> wrote in message
news:eVaRtIia...@tk2msftngp13.phx.gbl...

RB Smissaert

unread,
Aug 25, 2003, 6:34:01 AM8/25/03
to
Does the same apply to Userforms?
Just exported one and the .frm file is 90 Kb and the .frx file is 80 Kb.
It does actually sometimes show minor abberations, but sofar nothing major
to worry about.

RBS


"Stuart" <sg_b...@hotmail.com> wrote in message

news:ucqGC%23ZaDH...@tk2msftngp13.phx.gbl...

John

unread,
Aug 25, 2003, 7:01:22 AM8/25/03
to
Stuart,

I'm just reading "Excel 97 Secrets" (page 676) & they mention module
limits:-

"If you use many variables in one workbook, be aware that 64K is the maximum
size variables can occupy in a workbook. If you run into this limit, split
your workbook in two; this will double the amount of memory space available
for your variables.

You are likelier to encounter a limit of 4,000 lines of code per module.
Before you reach this limit, you will see an out-of-memory message. The
solution is obvious: Put your code in more than one module."


regards,

John

"Stuart" <sg_b...@hotmail.com> wrote in message

news:ucqGC#ZaDHA...@tk2msftngp13.phx.gbl...

Rob Bovey

unread,
Aug 25, 2003, 3:21:11 PM8/25/03
to
"RB Smissaert" <bartsm...@blueyonder.co.uk> wrote in message
news:eTUh8Qva...@TK2MSFTNGP12.phx.gbl...

> Does the same apply to Userforms?
> Just exported one and the .frm file is 90 Kb and the .frx file is 80 Kb.
> It does actually sometimes show minor abberations, but sofar nothing major
> to worry about.

That's a very good question. UserForms didn't even exist when this
problem first appeared, so I don't know if they are handled differently from
standard modules or not. I keep my own UserForm code within the 64KB limit
out of habit, so I haven't had the opportunity to test the size limit with
them. Based on postings here, having too many controls on a UserForm seems
to be a much more common problem then having to much code in them.

Reply all
Reply to author
Forward
0 new messages