Linda ha chiesto se esiste un modo per calcolare solo la cartella di lavoro attiva.

Quando un ricalcolo viene eseguito da Excel, ricalcola tutte le cartelle di lavoro aperte e, se sono cartelle di lavoro molto grandi, a volte possono essere necessari più di quindici minuti per il ricalcolo. Se è in grado di limitare ciò che viene ricalcolato, il processo sarà 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. Per prima cosa, imposta la modalità di ricalcolo su manuale seguendo questi passaggi:

  1. Scegli Opzioni dal menu Strumenti. Excel visualizza la finestra di dialogo Opzioni.

  2. Assicurati che la scheda Calcolo sia visualizzata. (Vedi figura 1.)

  3. Seleziona la casella di controllo Manuale.

  4. Fare clic su OK.

Ora l’unica volta che la tua cartella di lavoro (in realtà, tutte le tue cartelle di lavoro aperte) verrà ricalcolata è quando premi F9. Se desideri ricalcolare solo il foglio di lavoro corrente, premi MAIUSC + F9.

Excel fornisce anche funzioni macro che consentono di eseguire una di queste tre cose: 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. Con questa conoscenza è possibile creare una macro che scorrerebbe tutti i fogli di lavoro in una cartella di lavoro e ricalcolerebbe ciascuno di essi.

La macro seguente imposta la modalità di calcolo su manuale (in modo che le altre cartelle di lavoro non vengano calcolate), quindi scorre e calcola ogni foglio della cartella di lavoro attiva.

Sub CalcBook()

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 voglia:

Sub CalcWhat()

Dim iAnsure As Integer

Application.Calculation = xlManual     iAnsure = InputBox("1 = Calculate A Used Range" _       & vbCrLf & _       "2 = Calculate This Worksheet" _       & vbCrLf & _       "3 = Calculate This Workbook" _       & vbCrLf & _       "4 = Calculate All Workbooks in Memory" _       & vbCrLf & vbCrLf & _       "Input Your Selection Number From Above" _       & vbCrLf & "Then Click OK", _       "Calculate What?", "Input Number Please", _       5000, 5000)



Select Case iAnsure         Case 1 'Range Only             Selection.Calculate         Case 2 'Worksheet Only             ActiveSheet.Calculate         Case 3 'Workbook Only             For Each wks In ActiveWorkbook.Worksheets                 wks.Calculate             Next         Case 4 'All Open Workbooks             Application.CalculateFull         End     End Select End Sub

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

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2877) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: