Condividi tramite

excel calcolo lento

Anonimo
2012-06-14T09:34:04+00:00

Da anni uso per gestire la pianificazione degli impegni un file excel con una subroutine che, nella mia pochezza tecnica, ho realizzato per contare le celle per colore di riempimento, tipo del motivo e colore del motivo. Da quando ho cambiato PC da xp a windows 7 e da excel 2003 a 2010, il ricalcolo è diventato molto più lento (da 2-3 minuti siamo passati a 10 minuti e a volte di più): qualche suggerimento??

grazie

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

6 risposte

Ordina per: Più utili
  1. Anonimo
    2012-06-16T14:40:20+00:00

    Qualche ulteriore domanda:

    • Quante celle hai che contengono questa formula? Le basse prestazioni potrebbero essere direttamente legate al numero di istanze..
    • Il range InRange richiamato dalla formula quanto è grande, mediamente? Parliamo di una decina di celle oppure quante?
    • Come è impostata ora l'opzione per il calcolo multithread? Vedi "File -> Opzioni -> Impostazioni avanzate -> Formule -> Consenti calcoli multithread" e relative sotto-opzioni.

    Ciao

    Roberto

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-06-15T19:22:08+00:00

    Non so se sono i temini giusti, ma la routine è richiamata da una formula inserita in una cella, ce viene ricalcolata con alt+F9 e l'intervallo InRange corrisponde ad una parte di una colonna

    In pratica ogni colonna corrisponde ad una data e vado a contare quante volte trovo quella cella con  quel colore, motivo e colore del motivo: mi aspetto come risultato 1 se trovo un numero diverso la persona, a cui corrisponde la cella, è stata inserita più volte

    grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-06-15T16:47:42+00:00

    Sarebbe utile vedere come viene richiamata la routine e con quali parametri.

    Il parametro inRange a che intervallo corrisponde normalmente?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-06-14T11:07:20+00:00

    Eccola:

    Function cellsetting(InRange As Range, CellRange As Range) As Long

    Dim cl As Range, TempCount As Long, ColorIndex As Long, pattern As Long, PatternColorIndex As Long

        ColorIndex = CellRange.Cells(1.1).Interior.ColorIndex

        pattern = CellRange.Cells(1.1).Interior.pattern

        PatternColorIndex = CellRange.Cells(1.1).Interior.PatternColorIndex

    TempCount = 0

    For Each cl In InRange

        If ((cl.Interior.ColorIndex = ColorIndex And (cl.Interior.pattern = pattern And (cl.Interior.pattern <> xlPatternAutomatic Or cl.Interior.pattern <> xlPatternNone)) And cl.Interior.PatternColorIndex = PatternColorIndex)) Then

            TempCount = TempCount + 1

                Else: TempCount = TempCount

            End If

    Next cl

        Set cl = Nothing

        cellsetting = TempCount

    End Function

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2012-06-14T09:48:10+00:00

    Da anni uso per gestire la pianificazione degli impegni un file excel con una subroutine che, nella mia pochezza tecnica, ho realizzato per contare le celle per colore di riempimento, tipo del motivo e colore del motivo. Da quando ho cambiato PC da xp a windows 7 e da excel 2003 a 2010, il ricalcolo è diventato molto più lento (da 2-3 minuti siamo passati a 10 minuti e a volte di più): qualche suggerimento??

    grazie

    Puoi postare la routine?

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento