Come calcolare solo la cartella di lavoro attiva

Linda ha chiesto se esista un modo per calcolare solo la cartella di lavoro attiva. Quando Excel esegue un ricalcolo, esso viene eseguito su tutte le cartelle di lavoro aperte e, se si tratta di cartelle di lavoro molto grandi, a volte il ricalcolo può richiedere più di quindici minuti. Se lei fosse in grado di limitare ciò che viene ricalcolato, il processo sarebbe ovviamente più veloce.

Sfortunatamente, non esiste un metodo diretto per calcolare solo una particolare cartella di lavoro. È tuttavia possibile calcolare solo il foglio di lavoro attivo, se lo si desidera. Innanzitutto, imposta la modalità di ricalcolo su manuale seguendo questi passaggi:

  • Visualizza la finestra di dialogo Opzioni di Excel (in Excel 2007 fai clic sul pulsante Office e quindi su Opzioni di Excel, in Excel 2010 e versioni successive visualizza la scheda File della barra multifunzione e quindi fai clic su Opzioni).
  • Fare clic sull’area Formule a sinistra della finestra di dialogo.
  • Nella sezione Opzioni di calcolo della finestra di dialogo, assicurati che il pulsante di opzione Manuale sia selezionato.
  • Fai clic su OK.

 

Come calcolare solo la cartella di lavoro attiva 1

 

 

Ora la tua cartella di lavoro (in realtà, tutte le tue cartelle di lavoro aperte) verrà ricalcolata solo quando premerai F9. Se vuoi ricalcolare solo il foglio di lavoro corrente, premi MAIUSC+F9.

Excel fornisce anche funzioni macro che consentono di eseguire una di queste tre operazioni: calcolare tutte le cartelle di lavoro aperte, calcolare un foglio di lavoro specifico in una cartella di lavoro o calcolare un intervallo di celle specificato in un foglio di lavoro. Consapevoli di questo è possibile creare una macro che scorra tutti i fogli di lavoro in una cartella di lavoro e ricalcoli ciascuno di essi.

La macro seguente imposta la modalità di calcolo su manuale (quindi le altre cartelle di lavoro non verranno calcolate), quindi esegue il ciclo e calcola ogni foglio della cartella di lavoro attiva.

 

Sub CalcolaCartella()
    Dim wks As Worksheet
    Application.Calculation = xlManual
    For Each wks In ActiveWorkbook.Worksheets
        wks.Calculate
    Next
    Set wks = Nothing
End Sub

 

 

Se ritieni di voler calcolare diverse parti della tua cartella di lavoro in momenti diversi, puoi espandere la macro in modo che esegua qualsiasi tipo di calcolo tu desideri:

 

Sub CosaCalcola()
    Dim iRisp As Integer

    Application.Calculation = xlManual
    iRisp = InputBox("1 = Calcola l'intervallo selezionato" _
      & vbCrLf & _
      "2 = Calcola questo foglio di lavoro" _
      & vbCrLf & _
      "3 = Calcola questa cartella di lavoro" _
      & vbCrLf & _
      "4 = Calcola tutte le cartelle in memoria" _
      & vbCrLf & vbCrLf & _
      "Inserisci il numero corrispondente alla tua scelta" _
      & vbCrLf & "Poi clicca su OK", _
      "Cosa vuoi calcolare?", "Inserisci un numero", _
      5000, 5000)

    Select Case iRisp
        Case 1 'Solo intervallo
            Selection.Calculate
        Case 2 'Solo foglio di lavoro
            ActiveSheet.Calculate
        Case 3 'Solo cartella di lavoro
            For Each wks In ActiveWorkbook.Worksheets
                wks.Calculate
            Next
        Case 4 'Tutte le cartelle aperte
            Application.CalculateFull
        End
    End Select
End Sub

 

 

Questa macro presenta una casella di input che richiede all’utente quale tipo di ricalcolo desidera. Quando l’utente inserisce un numero da 1 a 4, viene eseguito il tipo di ricalcolo desiderato.

 

 

Tags: , , , , , , , , , , , , , , , , , ,

Ti è stato utile?