天天看點

EXCEL 檔案過大打開卡頓的解決方法

正常做法(非正常做法可以直接拉到文末,就一個字“快”)

因為我原始處理的檔案有不能公開的資料,是以我單建了一個空表來示範,空表裡添加了一些空白窗體,我原始檔案使用代碼方法和非正常做法兩種方式都解決了問題,并且檢查了資料沒有丢失。

正常做法1、優點:操作簡單;缺點:如果對象很多,會非常慢,我需要處理的文檔因為長時間無響應,放棄這個做法了

打開檔案,按F5,打開定位,選擇“定位條件”

EXCEL 檔案過大打開卡頓的解決方法

選擇“對象”,确定。

EXCEL 檔案過大打開卡頓的解決方法

之前隐藏的對象就顯示出來了,按DEL鍵,删除,搞定收工。

EXCEL 檔案過大打開卡頓的解決方法

正常做法2 優缺點跟第一個方法一樣,我也在長時間的無響應之後放棄了

選擇“頁面布局”,選擇“選擇窗格”,再選擇“全部顯示”,這些窗格也都顯示出來了,在右側選擇窗體名稱,可以一個一個删除。也可以選擇一個窗體名稱後,CTRL + A全選,按DEL删除

EXCEL 檔案過大打開卡頓的解決方法

正常做法3 優點:跟我的非正常做法比起來還是EXCEL内部操作,比較安全;缺點一個是慢,期間很長時間無響應,不過隻要代碼跑開了就等就好了,我是多個表都有問題,是以跑的第二個代碼,成功解決問題了。

VBA解決,這個需要一點基礎

a) 隻有一個sheet有内容,很簡單就一句代碼

Sub main()
Activesheet.DrawingObjects.Delete
end sub
           

b) 需要删除所有工作表中的對象,也很簡單,加個循環

Sub Test()
    Dim Sht As Worksheet
    For Each Sht In Sheets
        Sht.DrawingObjects.Delete
    Next
End Sub
           

簡單說一下EXCEL 跑VBA代碼

打開檔案後,按Alt + F11,跳出VBA的調試界面,按F7打開代碼視窗,粘貼代碼進去,按F5跑代碼就好了

重點來了,非正常做法,我是在跑代碼的時候實在無聊,想到EXCEL2007之後版本的檔案其實是一個壓縮檔案,就從檔案結構想了一個歪招,事實證明可行,優點是無需打開出問題的EXCEL文檔(出了問題的EXCEL文檔打開就需要很久,非常的磨人),處理起來非常快!缺點是等于用外力拆解了原檔案,存在未知風險,一定要備份再搞

把出問題的EXCEL文檔備份一份,然後標明要修改的檔案名按F2把檔案擴充名“xlsx”改為zip,會提示“如果改變檔案的擴充名,可能會導緻檔案不可用。确實要修改嗎?”當然選确定

如果看不到檔案擴充名可以打開資料總管(win + E),點“檢視”,點“選項”,在彈出的視窗選“檢視”,下拉找到“隐藏已知檔案類型的擴充名”取消勾選

EXCEL 檔案過大打開卡頓的解決方法

然後右鍵 打開方式 選擇“資料總管”。重點!用資料總管打開的好處是處理完不用再壓縮了,解壓處理完再壓縮有可能操作失誤連檔案夾一起壓縮,就會出問題

EXCEL 檔案過大打開卡頓的解決方法

點開xl檔案夾

EXCEL 檔案過大打開卡頓的解決方法

看到這個“drawings”檔案夾沒?這個就是我們要解決的問題,直接右鍵删除,如果excel文檔有圖檔這裡還會有一個media檔案夾,視情況删除

EXCEL 檔案過大打開卡頓的解決方法

關閉資料總管(直接傳回上層目錄的話資料總管還工作在壓縮檔案的模式),再找到我們這個zip檔案,按F2,把檔案擴充名改回xlsx。打開工作簿,Excel提示我們“發現工作簿中的部分内容有問題……巴拉巴拉”選“是”

EXCEL 檔案過大打開卡頓的解決方法

然後看到下面這個對話框,成功了!點“關閉”

EXCEL 檔案過大打開卡頓的解決方法

恭喜你,搞定了,看,所有的窗格都已經删除了,記得儲存檔案哦

EXCEL 檔案過大打開卡頓的解決方法

這種非正常做法其實相當于破壞了(删除了我們不需要的窗體)檔案,然後通過EXCEL的自動修複達到了我們的目的,如果您的EXCEL文檔裡面有需要保留的窗體、按鈕之類的,就隻能用正常做法慢慢來了,跑代碼的方法也可以實作,具體代碼可以自己百度,也不難。

繼續閱讀