excel - Excel 停止在后台打开工作簿中的工作表计算
问题描述
我有这个文件(文件 1)不仅供我使用,它还有一些取决于条目的计算。如果文件本身被打开,它运行平稳,但通常与另一个文件(文件 2)一起使用
当文件 2 在具有多个计算的工作表上打开时,如果我在文件 1 中输入数据,则计算需要一些时间,而当文件 2 关闭或在不需要(大量)计算的工作表上时,它会计算在一个实例中。
现在我的问题是,是否有可能有一个代码,如果未选择文件(打开,但不在前台),则在工作表中禁用计算,但一旦选择文件(即使关闭文件) 计算再次打开?我知道可以通过将计算设置为手动并计算某些操作,但这会关闭所有打开文件的计算,这是不行的。
解决方案
您可能会发现该EnableCalculation
属性可以在这里为您工作:请参阅https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet.enablecalculation
您可以在工作簿激活和停用事件中切换该属性值。下面的示例代码:
Private Sub Workbook_Activate()
Sheet1.EnableCalculation = True
Application.StatusBar = "Calc enabled."
End Sub
Private Sub Workbook_Deactivate()
Sheet1.EnableCalculation = False
Application.StatusBar = "Calc disabled."
End Sub
Private Sub Workbook_Open()
Sheet1.EnableCalculation = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheet1.EnableCalculation = True
End Sub
我添加了几个其他事件来展示您可能希望在其他时间如何设置该属性。
推荐阅读
- python - 为什么脚本完成后 tkinter“无法分配位图”会使 Spyder 内核崩溃?
- apache - htaccess 子文件夹中只有一个文件并保留 url
- python - 如何在 Python 中显示 [0,1] 图像?
- javascript - 如何将数组映射到 HTML 网格?
- gitlab - 如何在 gitlab 的同一个容器中运行多个阶段?
- php - TYPO3(Doctrine)中的两个(mm)表过滤表
- javascript - 用于在javascript中调试的等效dlog?
- python - 使用 OCR 和 OpenCV 仅提取特定信息
- javascript - 鼠标离开动画
- vuejs2 - Nuxt:如何知道补水完成了?