Risultati da 1 a 4 di 4

Discussione: Before...Calculate



  1. #1
    L'avatar di Bruno
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cireggio Italy
    Età
    66
    Messaggi
    141
    Versione Office
    2016 64 Bit
    Likes ricevuti
    38
    Likes dati
    6

    Before...Calculate

    Situazione attuale: se modifico in una routine un singolo valore del foglio le numerose formule impiegano un tempo maggiore di 1 secondo
    l'istruzione seguente nel copiare una colonna alcune volte interviene prima che il ricalcolo sia stato completato

    Chiedo consigli per gestire al meglio il ricalcolo.
    Esiste un evento un trucco vba che mi indichi quando i calcoli del foglio sono stato completati
    E' forse necessario un ciclo?

  2. #2
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: Before...Calculate

    ciao,

    Potresti allegare il tuo file senza troppi dati e dati sensibili, di modo che chi ne avesse voglia,
    possa darci un'occhiata e darti una risposta esauriente?

    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  3. #3
    L'avatar di Bruno
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cireggio Italy
    Età
    66
    Messaggi
    141
    Versione Office
    2016 64 Bit
    Likes ricevuti
    38
    Likes dati
    6

    Re: Before...Calculate

    Ciao Frank
    Potresti allegare il tuo file senza troppi dati e dati sensibili
    Se riduco il file non mi compare più il problema, ora capita che dopo aver avviato il ciclo tramite lo SpinButton1 sul foglio vedi:

    Codice: 
    Private Sub SpinButton1_SpinDown()
      Application.EnableEvents = False
        [datagiorno].Value = CDate([datagiorno].Value) - 1
        [MyRng] = [MyRng].Offset(, -2).Value
      Application.EnableEvents = True
    End Sub
    al termine del ciclo in pochissimi casi rilevo che non tutti i valori sono stati copiati.
    Il ricalcolo è e deve rimanere su automatico

    Spero abbiate una bacchetta magica

  4. #4
    L'avatar di Bruno
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Cireggio Italy
    Età
    66
    Messaggi
    141
    Versione Office
    2016 64 Bit
    Likes ricevuti
    38
    Likes dati
    6

    Re: Before...Calculate

    Ciao

    Non era certo facile trovare la causa del problema.

    Ho modificato la Sub del controllo SpinButton per incrementare la data dal valore Min al val Max
    Ho aggiunto il ciclo DoEvents per attendere il ricalcolo del foglio

    Codice: 
    Private Sub SpinButton1_Change()
      Application.EnableEvents = False
        If Not Application.CalculationState = xlDone Then
            DoEvents
        End If
        [MyRng] = [MyRng].Offset(, -2).Value
      Application.EnableEvents = True
    End Sub

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
  •