› Sviluppare funzionalita su Microsoft Office con VBA › Memoria insufficiente eliminando un modulo
-
AutoreArticoli
-
Buongiorno,
mi capita che eliminando un modulo contenente sub di prova inutili e salvando poi il tutto, al successivo rientro mi da errore di memoria insufficiente.
Non capisco: tolgo istruzioni e il programma va fuori memoria come se ne avessi aggiunte!
Qualcuno sa darmi una spiegazione, almeno orientativa?
Grazie!
Capisco che quando si va fuori memoria la faccenda è complessa perché può essere dovuto a diversi fattori, ma a questo punto è "infernale", non riesco a trovarci una logica.
Per altro, aggiungendo righe di istruzioni (semplici richiami a delle call per chiudere cartelle prima dell'apertura di altre) il programma continua a stare tranquillamente in memoria ...
Ma se in una qualsiasi cella inserisco p.e. =1 (banale ovviamente) ebbene alla riapertura nessuna macro e più accessibile dall'editor VBA ...
Ciao
Talvolta questi messaggi non indicano una precisa origine dell'errore ma spesso si riferiscono alla memoria RAM
Prova a vedere se quanto riportato in quest'articolo
https://docs.microsoft.com/it-it/office/troubleshoot/excel/available-resources-errors
può risolvere il tuo problema.
Ciao,
Mario
Sembra che la soluzione sia sempre la stessa suggerita da Patel tempo fa:
E' sempre stato un problema di excel, da qualche parte ho letto che tiene memoria delle modifiche fatte e quindi un file modificato tutti i giorni cresce sempre più. Un modo per ripulirlo è aprire un file nuovo e copiarci il contenuto del vecchio. In passato è accaduto anche a me ed ho risolto così, oggi ho provato a farlo con un file che uso spesso ed ho guadagnato soltanto 1 Kb su 120
Cioè:
Aprire l'ultimo vecchio con le macro accessibili (Chiamiamolo A) -
Creare un nuova file Excel vuoto (chiamiamolo B) -
Trasferire in B i fogli da A -
Copia-incolla di tutte le macro da (A) a (B), modulo per modulo -
Chiudere A -
Rinominare B in A -
Salvare il nuovo A (magari dopo aver salvato il vecchio A)
Chiudere il nuovo A
Riaprire il nuovo A e fine dei problemi di memoria
e il gioco è fatto ...
Aggiungo che è quasi inevitabile dopo un po' che si aggiorna di continuo le macro quando sono molte come nel mio caso.
Sembra che inevitabilmente ad un certo punto si "intasa" tutto: macro, celle, pulsanti di richiamo delle macro e quant'altro, si ha proprio l'impressione di un excel impazzito più che un nostro errore, visto l'incoerenza degli errori.
Niente, non impazziamoci più di tanto: file nuovo, copiamoci tutto, e rifunziona tutto.
Sembra incredibile ma è così.
Ha proprio ragione Patel.
Certamente! occorre anche dire che questo è un caso importante, che va conosciuto.
E' una situazione assolutamente "balorda" letteralmente hai l'impressione che Excel sia "impazzito" perché il ripetersi dell'errore di "memoria insufficiente" è senza logica: correggi una cella e da errore sull'editor VBA, alleggerisci il VBA (ci sono sempre, in un grosso lavoro macro non più utilizzate) e da errore quando prima non lo dava, ...). Pensi che non verrai mai fuori e vedi il tuo fallimento e, peggio, di chi quel lavoro serviva (e che magari usa da molto tempo e che gli è ormai indispensabile "ogni giorno") è angosciante!
E poi, dopo aver fatto i salti mortali (p.e. spostare le macro su una cartella dedicata, ma senza successo) e ci hai perso giorni e giorni, qual è la semplice soluzione che si risolve in 1/2 ora di copia-incolla? Un file nuovo dove trasferirci i fogli del vecchio e copiare modulo per modulo le macro VBA, e tutto ricomincia a girare perfettamente!
E' da non credere! E il bello è che capisci che, inevitabilmente, ogni tanto ti toccherà farlo, perché inevitabilmente Excel col tempo "degenera".
E' proprio così!
Ancora: grazie Patel!
Ciao.
-
AutoreArticoli
