Risultati da 1 a 15 di 15

Discussione: Disattivare formule dai fogli se non attivi...



  1. #1
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    415
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    634

    Disattivare formule dai fogli se non attivi...

    Un saluto a tutti voi del forum..
    premessa:
    grazie ai video di Gerardo (che saluto) e ai vostri preziosi suggerimenti consigli ed esempi sono
    riuscito a crearmi un programmino gestionale che soddisfa appieno le mie esigenze.
    seguendo costantemente il forum apporto di tanto in tanto delle migliorie al mio gestionale (formule o VBA) ma piu lo
    modifico e più rallenta.
    Ho la convinzione che le formule che ci sono nei vari fogli rimangano costantemente attive (anche quando il foglio non è selezionato)
    appesantendo il file.... é esatto?

    A questo punto espongo la mia domanda:
    esiste un comando (anche vba) che disattivi le formule in tutti i fogli del file (composto da circa 60 fogli)
    e le attivi solo nel foglio su cui devo lavorare quando lo seleziono?
    Se la vostra risposta e si....
    cosi facendo velocizzo le operazioni del foglio su cui stò lavorando?
    I risultati e i riferimenti di celle che dipendono da altre celle di altri fogli rimarrebbero?

    Spero di essere stato chiaro...
    In attesa, ringrazio tutti
    Windows8.1 office 2010

  2. #2
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1125
    Ciao Vincenzo, mi fa piacere che questo forum e i miei video ti stiano aiutando nella realizzazione del tuo progetto, tuttavia nella tua domanda c'è già la risposta nel senso che 60 fogli in una cartella di lavoro sono veramente tanti e "a naso" aggiungo che non mi risulta che sia possibile spegnere o disattivare le formule per far si che si alleggerisce il file cosi da essere un po più veloce, perchè la velocità dipende dal peso in kb della cartella di lavoro e se eventualmnete si riuscisse a disabilitare le formule o codici VBA sarebbero comunque sempre memorizzati nella cartella e il peso nella memoria temporanea sarebbe sempre la stessa.
    Ovviamente mi piacerebbe che qualcuno mi smentisse perchè sarei curioso anch'io se ci fosse una possibilità
    Un saluto a tutti

  3. #3

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao a tutti,
    dovresti usare
    Application.Calculation = xlmanual

    oppure

    Application.Calculation = xlautomatic

    Bisogna solo capire bene come inserirlo nel giusto evento.

    [EDIT]
    forse è
    Application.Calculate

    non ricordo bene, non l'ho mai usata...

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  4. #4

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao Vincenzo,
    ti posso consigliare una cosa, ma non ho la certezza che funzioni...mi servirebbe un file "pesante" come il tuo per potermene rendere conto.

    Visto che i fogli sono molti, metterei tutto quello che serve (almeno credo) associati agli eventi di Workbook (Questa_cartella_di_lavoro) e non di Worksheet.

    Codice: 
    Option Explicit
    
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.Calculation = xlCalculationAutomatic
    End Sub
    
    
    Private Sub Workbook_Open()
    Application.Calculation = xlCalculationManual
    End Sub
    
    
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Application.Calculation = xlCalculationAutomatic
    End Sub
    
    
    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    Application.Calculation = xlCalculationManual
    End Sub
    Prova a metterlo nel tuo file e vedi se funziona....

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  5. I seguenti utenti hanno dato un "Like"


  6. #5
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    415
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    634
    Ciao Cromagno,
    Grazie x aver risposto alla mia domanda....
    ho inserito il tuo codice in un nuovo modulo nel VBA ma non ho notato nessun miglioramento....
    ho sbagliato qual'cosa?
    grazie
    Windows8.1 office 2010

  7. #6

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1011
    Versione Office
    .
    Likes ricevuti
    365
    Likes dati
    0
    Citazione Originariamente Scritto da Vincenzo Damiani Visualizza Messaggio
    ho inserito il tuo codice in un nuovo modulo nel VBA ma non ho notato nessun miglioramento....
    ho sbagliato qual'cosa?
    grazie
    Puoi provare a lasciare il calcolo in manuale anche per il foglio attivo e premere F9 solo quando hai finito le modifiche (o quando necessita) e vedere se le cose migliorano ......
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  8. #7
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61
    Se può tornar utile, prova anche a gestire il tutto con Shift+F9 per il calcolo solo nel foglio attivo rispetto al F9 per il calcolo in tutti i fogli del file.
    ciao
    ale

  9. #8
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    415
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    634
    Ciao Scossa e Alessandro,
    Ho provato a mettere, da opzioni formule, in manuale tutte le formule....
    nel momento in cui apro il foglio e clicco Shift+F9 le formule ripartono
    notando un leggero miglioramento....
    il problema nasce quando faccio variazione al foglio (attivo macro ecc o cambio valori) che devo
    attivare sempre con Shift+F9....
    è possibile automatizzare il tutto?
    Grazie
    Windows8.1 office 2010

  10. #9
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61
    vincenzo,
    io ho diversi file (anche di oltre 100 mb) su cui lavoro e per non rallentare il lavoro su ogni singolo inserimento gioco sempre con lo Shift+F9 per aggiornare solo il foglio e ogni tanto con F9 per tutto il file laddove una modifica so che influisce anche su altri fogli.
    In alternativa, per non andare ogni volta su opzioni>>>formule...mi sono inserito un mio menù che flaggo all'occorrenza

    oppure l'idea di cromagno (ciao) al #4 automatizza il tutto.
    ciao
    ale

  11. #10

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao a tutti,
    @Alessandro
    ma quindi la mia proposta è valida (nel senso che è giusta come logica) ????
    Ripeto, non avevo mai usato questo metodo, però facendo delle prove con molte celle con CASUALE.TRA(0;100000) su diversi fogli, sembra che effettivamente la situazione migliori....

    [EDIT]
    Ho chiesto ad Alessandro, ma naturalmente è ben accetta una risposta da chiunque possa confermare :167::191:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  12. #11
    L'avatar di Alessandro
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Roma
    Età
    45
    Messaggi
    851
    Versione Office
    2010 64 bit
    Likes ricevuti
    113
    Likes dati
    61
    ciao cromagno,
    non l'ho provato ma io penso di si...
    il calcolo standard è automatico...tu nell'entrare nel file lo rendi manuale (per cui tutto fermo) mentre nell'entrare nel foglio lo rimetti automatico solo per quel foglio (diciamo uno Shift+F9 per ogni cosa che fai) per poi rimetterlo manuale come esci dal singolo foglio...o rimetterlo automatico come esci dal file...io dico che va.
    ciao
    ale

  13. #12

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Grazie della risposta Alessandro :32:
    L'ho chiesto per capire se posso mettere questo metodo tra i miei "appunti".... :262:
    Ciao
    Tore

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  14. #13
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    415
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    634
    Ciao cromagno,

    buone notizie sulla tua proposta #4
    applicando alcuni accorgimenti alla tua valida proposta ho risolto il problema....
    mi spiego meglio:
    nel gestionale ho dei fogli che elaborano statistiche (quelle dove impiegava parecchio tempo a fare i calcoli) che in parte funzionano con VBA
    e in parte con le formule, succedeva che quando azionavo il comando di calcolo, il VBA mi dava i risultati e invece le formule dovevo
    cliccare Shift+F9 x azionarle......a questo punto nel VBA a fine ciclo ho inserito "ActiveSheet.Calculate" e adesso non devo più
    fare Shift+F9 per azionarle facendo tutto in automatico......
    funziona benissimo e velocemente....
    Ultima cosa:
    vorrei, in alcuni fogli, inserire un comando che ad ogni cambiamento di una qualsiasi cella si attivi "ActiveSheet.Calculate"
    questo perché in alcuni fogli ho delle celle che si popolano con la convalida dati e al momento questo non avviene perché devo
    azionare sempre Shift+F9 per attivare le formule.......
    nella speranza di essere stato chiaro
    ti ringrazio molto e saluto tutti
    Windows8.1 office 2010

  15. #14

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4016
    Versione Office
    2013
    Likes ricevuti
    1225
    Likes dati
    923
    Ciao Vincenzo,
    Potresti legare l'attivazione all'evento "Workbook_SheetSelectionChange" di "Questa_cartella_di_lavoro"....

    Ad esempio, se volessi l'attivazione alla selezione di qualsiasi cella solo per "Foglio1" e "Foglio4":

    Codice: 
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveSheet.Name = "Foglio1" Or ActiveSheet.Name = "Foglio4" Then
        ActiveSheet.Calculate
    End If
    End Sub

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  16. #15
    L'avatar di Vincenzo Damiani
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Molfetta
    Età
    58
    Messaggi
    415
    Versione Office
    2010
    Likes ricevuti
    13
    Likes dati
    634
    Grazie cromagno,
    per avermi dato ottimi suggerimenti e la soluzione a quanto richiesto
    Windows8.1 office 2010

Discussioni Simili

  1. Risposte: 0
    Ultimo Messaggio: 10/03/17, 12:53
  2. Risposte: 6
    Ultimo Messaggio: 28/01/17, 21:58
  3. [Risolto] Problema formule matriciali: risultati diversi per formule uguali
    Di matrix nel forum Domande su Excel in generale
    Risposte: 3
    Ultimo Messaggio: 21/11/16, 00:28
  4. [Risolto] attivare e disattivare righe di un grafico
    Di stefano1973 nel forum Domande sui Grafici di Excel
    Risposte: 10
    Ultimo Messaggio: 24/08/16, 11:22
  5. [Risolto] come funzionano le formule ( =FOGLIO ) & ( =FOGLI )
    Di Francesco nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 01/07/15, 10:54

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •