我有一個大型 Excel 作業簿,目前有 23 張。該作業簿需要大約 100k 行庫存并按庫存位置將其分類為 8 個作業表,其他 15 個作業表用于統計數字并根據需要移動庫存。100k 庫存按 8 個庫存表排序,每張表使用大約 400 個 sumifs 和 countifs 公式,總計大約 3200 個公式。我的作業簿開始出現嚴重滯后,因為每次在 15 個作業表之一上更改資料時,8 個庫存表都會重新計算。為了分解我想要找出的內容,我需要同時設定 15 張自動計算和 8 張手動計算。有沒有辦法做到這一點。我沒有包含任何代碼,因為這是一個 excel 功能問題。我進行了廣泛的搜索,但我能找到的所有文獻都說使用計算功能是全有或全無的情況。但是在重寫整個作業簿以將所有公式切換到 VBA 之前,我想我會看看是否有人找到了解決方法。
uj5u.com熱心網友回復:
您將需要 VBA 來執行此操作。
- 禁用自動計算并在保存時計算;這可以在 Excel 或 VBA 中完成:
Application.Calculation = xlManual, Application.CalculateBeforeSave = False - 列出您要“自動計算”的所有作業表
- 回圈遍歷串列,一次使用
Worksheets(1).Calculate或Sheets("Sheet1").Calculate計算單個作業表 - 您可以將其設定為每次使用
Worksheet.Change事件在筆記本中進行更改時運行,或者我個人會制作一個在單擊時運行宏的按鈕。
快速原型:
Sub customcalc
Dim myarray As Variant
myarray = Array("Sheet1", "Sheet2", "Sheet3")
For Each s In myarray
Sheets(s).Calculate
Next s
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/448401.html
上一篇:我錯誤地隱藏了我的日歷如何恢復
