Condividi tramite

Excel molto lento nella gestione di file di circa 150.000 righe

Anonimo
2010-11-10T09:34:33+00:00

Titolo originale:Buongiorno a tutti __Ho grossi problemi di lentezza nella gestire di file Excel di circa 150.000 righe utilizzando Excel 2007.__


I pc dove vengono utilizzati, posseggono mediamente 4 gb di Ram e CPU Intel Core2

S.O. Windows XP sp3.

I file contengono circa 35 colonne.

Il programma non va in blocco, però una applicazione di formula “trascinata” su tutte le righe determina una inattività anche di 20 minuti. Ancor peggio provando ad ordinare i dati…

Ho cercato di non usare in unica cella formule complesse, scomponendole in più colonne. Le formule del resto sono elementari.

La prima idea che mi viene è di utilizzare una macchina con molta più Ram e con processori più potenti. Non vorrei però investire in PC, rischiando un modesto beneficio in termini di prestazioni

Grazie ancora

denis

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2010-11-12T08:28:12+00:00

Ho provato a disabilitare il calcolo automatico. Quando lo richiamo tuttavia, la macchina elabora per una decina di minuti, poi mi da messaggio di memoria insufficiente.

Ho provato quindi ad operare su una workstation. Qui arriva alla fine della operazione e non blocca. Tuttavia è sempre una gran fatica. Ho provato a verifcare come lavora: la CPU al 100 % per tutta la durata del calcolo/salvataggio, mentre di ram ne utilizza circa il 40 %. Se guardo il file, pesa neanche 40 mb.

Posso utilizzare diversi setaggi del programma per ridurre il carico sulla CPU?

Se(se) parte dei dati sono in tabelle: http://office.microsoft.com/it-it/excel-help/velocizzare-il-calcolo-di-un-foglio-di-lavoro-contenente-una-tabella-dati-HP005203030.aspx . Se(se) i dati sono tutti collegati e quindi ad ogni modifica hai il ricalcolo in pratica su tutte le righe, diventa difficile da gestire. Mettaimo invece che, ad esempio, scrivendo su una singola riga tu voglia avere il ricalcolo *solo* su quella riga. Puoi a questo punto disabilitare il calcolo automatico e, da codice, forzare il ricalcolo solo su quella riga se ne modifico un dato. Questo codice, da copia/incollare nel modulo di codice del foglio, ricalcola solo la riga dove modifichi una cella(devi avere preventivamente disabilitato il calcolo automatico):

Private Sub Worksheet_Change(ByVal Target As Range)

    Me.Rows(Target.Row).Calculate

End Sub

Similmente, tramite eventi e metodi, possiamo ricalcolare tutto il file, uno o più fogli, uno o più Range separatamente. Se non hai mai utilizzati il vb di Excel, vedi qui:http://www.maurogsc.eu/excel/xlsdoveinserirecodice.aspx . Grazie per l'attenzione.


--

La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

--

Mauro Gamberini - Microsoft© MVP(Excel)

http://www.maurogsc.eu/

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-11-12T15:26:50+00:00

    Sarebbe interessante sapere quali sono le formule. A volte possono essere semplificate, a volte anche all'interno delle stesse vi sono calcoli ripetuti che potrebbero essere eseguiti su di un'unica cella richiamando questa nelle formule ed evitandone il ricalcolo.


    fai sapere, grazie

    ciao paoloard

    http://riolab.org

    ***********************************************

    Se la risposta ti ha aiutato "Vota come Utile".

    Se ha risolto il problema "Segna come Risposta".

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-11-12T00:14:05+00:00

    Ho provato a disabilitare il calcolo automatico. Quando lo richiamo tuttavia, la macchina elabora per una decina di minuti, poi mi da messaggio di memoria insufficiente.

    Ho provato quindi ad operare su una workstation. Qui arriva alla fine della operazione e non blocca. Tuttavia è sempre una gran fatica. Ho provato a verifcare come lavora: la CPU al 100 % per tutta la durata del calcolo/salvataggio, mentre di ram ne utilizza circa il 40 %. Se guardo il file, pesa neanche 40 mb.

    Posso utilizzare diversi setaggi del programma per ridurre il carico sulla CPU?

    grazie

    denis

     

    150.000 righe piene di calcoli, pesa "solo" 40 Mb e "ben" 10 minuti di elaborazione ? Allora è grave.:-))

    Forse con una soluzione in Vba la cosa potrebbe migliorare.

    Eliano

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-11-11T21:49:02+00:00

    Ho provato a disabilitare il calcolo automatico. Quando lo richiamo tuttavia, la macchina elabora per una decina di minuti, poi mi da messaggio di memoria insufficiente.

    Ho provato quindi ad operare su una workstation. Qui arriva alla fine della operazione e non blocca. Tuttavia è sempre una gran fatica. Ho provato a verifcare come lavora: la CPU al 100 % per tutta la durata del calcolo/salvataggio, mentre di ram ne utilizza circa il 40 %. Se guardo il file, pesa neanche 40 mb.

    Posso utilizzare diversi setaggi del programma per ridurre il carico sulla CPU?

    grazie

    denis

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-11-10T09:44:42+00:00

    I pc dove vengono utilizzati, posseggono mediamente 4 gb di Ram e CPU Intel Core2

    S.O. Windows XP sp3.

    I file contengono circa 35 colonne.

    Il programma non va in blocco, però una applicazione di formula “trascinata” su tutte le righe determina una inattività anche di 20 minuti. Ancor peggio provando ad ordinare i dati…

    Ho cercato di non usare in unica cella formule complesse, scomponendole in più colonne. Le formule del resto sono elementari.

    La prima idea che mi viene è di utilizzare una macchina con molta più Ram e con processori più potenti. Non vorrei però investire in PC, rischiando un modesto beneficio in termini di prestazioni

    Grazie ancora

    denis

    150.000 righe di formule da ricalcolare sono una bella fatica per il processore. Hai provato a disabilitare il calcolo automatico e richiamarlo alla fine delle tue operazioni con F9?


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento