di pietrol » 28/03/09 21:33
Ciao jjvincente
mi fa molto piacere che tu abbia seguito i consigli miei e di Anthony e colgo l'occasione per ringraziarlo per il suo intervento.
Per quanto riguarda il tuo file in effetti i calcoli da fare sono molto pesanti e peggioreranno aumentando le formule e i dati della tabella.
Questo rientra nella casistica più diffusa nella storia dell'informatica: quella in cui viene fatta inizialmente una richiesta per un "programmino" che faccia una somma o poco più, peccato però che, alla fine di un'infinita serie di modifiche ed implementazioni successive, si scopra che in effetti l'obiettivo finale dell'utente sia quello di, con lo stesso programma, gestire il lancio dello Shuttle.
Voglio dire che se tu avessi specificato subito quante erano le statistiche e quale la mole dei dati da elaborare probabilmente avrei subito escluso la possibilità di utilizzare le formule proprio in funzione della pesantezza di quella soluzione.
Tieni conto che adesso, per ogni cella in cui abbiamo messo una funzione personalizzata, parte una elaborazione che verifica tutte le righe della tabella, il tutto ripetuto ogni volta che modifichi un dato! Sono parecchie migliaia di cicli for-next ogni volta.
L'alternativa potrebbe essere una macro che, lanciata da un pulsante, ricalcoli tutti i dati "in una sola passata", cioè faccia per ogni riga tutte le considerazioni e i calcoli.
Ti rimando il tuo ultimo file, gli ho aggiunto una macro collegata ad un pulsante, ho tolto tutte le formule che appesantivano il foglio ma ho lasciato tutti i moduli.
Per il momento elabora solo il ritardo attuale ed lo storico ma sono sicuro che riuscirai ad implementare anche il calcolo delle altre colonne.
Per quanto riguarda invece Goal e Nogoal i test potrebbero essere:
Goal = If Range("C" & Riga.Row).Value >= 1 And Range("D" & Riga.Row).Value >= 1 then (ecc., ecc.)
NoGoal= If Range("C" & Riga.Row).Value = Or Range("D" & Riga.Row).Value = 0 then (ecc., ecc.)
Fammi sapere cosa hai scelto di fare.
ciao
pietrol
- Allegati
-
[L’estensione zip è stata disattivata e non puó essere visualizzata.]
il lupo ululà, il castello ululì