仅计算活动工作簿(Microsoft Excel)
琳达问是否有一种方法只能计算活动工作簿。
当Excel执行重新计算时,它将重新计算她所有打开的工作簿,如果它们是非常大的工作簿,则有时可能需要十五分钟才能重新计算。如果她能够限制重新计算的内容,那么该过程显然将运行得更快。
不幸的是,没有直接方法可以只计算特定的工作簿。但是,如果需要,您可以仅计算活动工作表。首先,按照以下步骤将重新计算模式设置为手动:
。从工具菜单中选择选项。 Excel将显示“选项”对话框。
。确保显示了计算选项卡。 (请参见图1。)
。选择手动复选框。
。单击确定。
现在,只有当您按F9时,才重新计算工作簿(实际上是所有打开的工作簿)。如果只想重新计算当前工作表,请按Shift + F9。
Excel还提供了允许您执行以下三项操作的宏功能:计算所有打开的工作簿,计算工作簿中的特定工作表或计算工作表中指定单元格的范围。有了这些知识,您可以创建一个宏,该宏将遍历工作簿中的所有工作表并重新计算每个工作表。
下面的宏将计算模式设置为手动(因此其他工作簿将不会计算),然后循环遍历并计算活动工作簿的每一张纸。
Sub CalcBook() Dim wks As Worksheet Application.Calculation = xlManual For Each wks In ActiveWorkbook.Worksheets wks.Calculate Next Set wks = Nothing End Sub
如果您认为您可能想在不同时间计算工作簿的不同部分,则可以扩展该宏,以便它可以执行您想要的任何类型的计算:
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
该宏显示一个输入框,提示用户需要哪种重新计算类型。当用户输入1到4之间的数字时,将执行所需的重新计算类型。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2877)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: