Nepietiek atmiņas ziņojuma - Excel padomi

Satura rādītājs

Stīvens no Austrālijas raksta:

Esmu izveidojis VBA makro, kuram no vienas darblapas ir jāizveido apmēram 50 diagrammas. Problēma ir tā, ka ikreiz, kad es palaidu programmu, kad esmu nokļuvis 33. diagrammā, tiek parādīts kļūdas ziņojums "Nepietiek atmiņas", tad Excel programma tiek bloķēta un man ir jāpārtrauc programma. Manā datorā ir 256 megami RAM, un es Windows NT operētājsistēmā izmantoju programmu Excel 97.

Vai katru diagrammu veidojat kā savu diagrammas lapu? Excel darblapā var apstrādāt 16 miljonus šūnu, taču klusais noslēpums ir tas, ka nevar apstrādāt daudzas darblapas. Palīdzības failā teikts, ka darblapu skaitu ierobežo "pieejamā atmiņa".

Es regulāri piedzīvoju problēmu, kas jums ir. Tas ir šausmīgi nomākti, jo nekad nevar zināt, kad tas drīz avarēs. Ja Visual Basic sniegtu jums izsekojamu kļūdu, jūs varētu apturēt makro, saglabāt failu un sākt jaunu failu. Bet viņi to nedara - jūs vienkārši saņemat avāriju.

Esmu redzējis, ka avārija notikusi jau 130 darblapās un jau 40. Jums ir jānovērtē, kur jūsu sistēmā tas avarēs, pēc tam makro jāievieto skaitītājs. Ja domājat, ka pēc 32 diagrammām notiks avārija, pēc tam pārtrauciet procesu pie 30 diagrammām, saglabājiet tās jaunā darbgrāmatā, aizveriet šo darbgrāmatu un sāciet tās atkal izveidot jaunā darbgrāmatā.

Tas nav skaisti, bet tas ir vienīgais risinājums, ko esmu atradis.

Vēl viena doma - pārliecinieties, ka esat aizvēris katru moduli un lietotāja formu Visual Basic redaktorā, izmantojot "X" augšējā labajā stūrī. Esmu atklājis, ka pirms makro palaišanas vienkārši aizverot visus Visual Basic komponentus, varat atbrīvot mazliet vairāk atmiņas un, iespējams, iespiest vēl dažas diagrammas "pieejamajā atmiņā".

Iepriekš es runāju par to, kā darīt lietas, lai saglabātu atmiņu. Stīvens šodien rakstīja atpakaļ ar lielisku atklājumu:

Es atklāju, ka, ja Charts AutoScaleFont iestatīšu uz False, es varētu izveidot aptuveni 120 diagrammu, kas ir atrisinājis manu problēmu.

Kāpēc tas tā ir, man nav ne jausmas, bet tas ir Excel. Lielisks padoms - ielieciet šo kā neskaidru atmiņas saglabāšanas metodi.

Interesanti raksti...