Excel 檔案從幾 MB 膨脹到幾十甚至上百 MB,導致開啟緩慢、操作卡頓、甚至假死,是許多使用者的痛點。本文深度剖析 7 大核心成因,提供判斷方法與 VBA/手動解決方案,助您精準瘦身,恢復流暢體驗。
Sub CountShapes()
Dim n As Long
n = ActiveSheet.Shapes.Count
MsgBox "本工作表共有 " & n & " 個物件"
End Sub
Sub DelSmallShapes()
Dim sp As Shape, n As Long
For Each sp In ActiveSheet.Shapes
If sp.Width < 14.25 Or sp.Height < 14.25 Then
sp.Delete
n = n + 1
End If
Next sp
MsgBox "共刪除 " & n & " 個微小物件"
End Sub
對極大區域(非整行整列)套用格式/條件格式,或複製帶格式的儲存格至大範圍,實際使用區域卻很小。
捲軸滑桿極小,拖至底部/右側顯示的列號/行號遠超實際資料範圍。
與成因二類似,但更隱蔽(含「輸入法」、「輸入訊息」、「錯誤警示」設定)。清除格式後檔案未縮小,即應懷疑驗證設定。
選取多餘區域 →「資料」→「資料驗證」→ 在「設定」、「輸入訊息」、「錯誤警示」、「輸入法」四個索引標籤分別點選「全部清除」。
將重複使用的複雜公式(含相對參考)定義為名稱。實測:原檔用 VLOOKUP 長公式 189 KB,改用定義名稱後縮減至 117 KB;曾將 3 MB 檔瘦身至 700 KB。
操作:Ctrl+F3 →「新增」→ 名稱輸入 `我的查找`,參考位置輸入複雜公式 → 確定。公式中直接使用 `=我的查找`。
全選儲存格 → 隱藏列 → 名稱方塊輸入 `A32800` → 設固定列高 20 → 全選 →「最適合列高」 → 存檔變 1.42 MB。任何清除格式/刪除儲存格/覆蓋工作表均無法縮小。存在於 Excel 2000 至 2003。
選取整個工作表 →「格式」→「列高」→ 任意設定一個列高 → 存檔,檔案大小恢復正常。
非必要勿用工作表背景;必須使用時,壓縮圖片至最小尺寸(建議 < 100 KB)。
刪除 Normal 模板:
C:\Users\[使用者名稱]\AppData\Roaming\Microsoft\Templates\Normal.dotmC:\Users\[使用者名稱]\AppData\Roaming\Microsoft\Excel\XLSTART 下的自訂樣板檔。重新啟動 Office 即可修復。
自動儲存位置:
C:\Users\[使用者名稱]\AppData\Roaming\Microsoft\Excel\
尋找 `.xar` 或無副檔名的暫存檔,更名為 `.xlsx` 開啟嘗試恢復。或在 Excel →「檔案」→「資訊」→「管理活頁簿」→「恢復未儲存的活頁簿」。
結語: 依序排查上述 7 大成因,90% 以上膨脹問題可解決。建議定期「另存新檔」重置檔案結構,養成「整行整列設定格式、謹慎複製貼上、善用定義名稱簡化公式」的良好習慣,從源頭杜絕檔案虛胖。