Linda preguntó si hay alguna forma de calcular solo el libro activo.

Cuando Excel realiza un recalc, recalcula todos sus libros abiertos y, si son libros de trabajo muy grandes, a veces puede llevar más de quince minutos recalcar. Si puede limitar lo que se vuelve a calcular, el proceso obviamente se ejecutará más rápido.

Desafortunadamente, no existe un método directo para calcular un libro en particular. Sin embargo, puede calcular solo la hoja de trabajo activa, si lo desea. Primero, configure el modo de recálculo en manual siguiendo estos pasos:

  1. Elija Opciones en el menú Herramientas. Excel muestra el cuadro de diálogo Opciones.

  2. Asegúrese de que se muestre la pestaña Cálculo. (Ver figura 1)

  3. Seleccione la casilla de verificación Manual.

  4. Haga clic en Aceptar.

Ahora, la única vez que se volverá a calcular su libro de trabajo (en realidad, todos sus libros de trabajo abiertos) es cuando presione F9. Si desea volver a calcular solo la hoja de trabajo actual, presione Mayús + F9.

Excel también proporciona funciones de macro que le permiten hacer cualquiera de estas tres cosas: calcular todos los libros abiertos, calcular una hoja de trabajo específica en un libro de trabajo o calcular un rango específico de celdas en una hoja de trabajo. Con este conocimiento, podría crear una macro que recorra todas las hojas de trabajo en un libro de trabajo y vuelva a calcular cada una de ellas.

La siguiente macro establece el modo de cálculo en manual (por lo que los otros libros de trabajo no calcularán) y luego recorre y calcula cada hoja del libro de trabajo activo.

Sub CalcBook()

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

Si cree que puede querer calcular diferentes partes de su libro de trabajo en diferentes momentos, puede expandir la macro para que realice cualquier tipo de cálculo que desee:

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

Esta macro presenta un cuadro de entrada que le indica al usuario qué tipo de nuevo cálculo desea. Cuando el usuario ingresa un número del 1 al 4, se realiza el tipo de recálculo deseado.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2877) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posteriores) aquí:

link: / excelribbon-Calculating_Only_the_Active_Workbook [Calculating Only the Active Workbook].