表哥表妹在使用Excel的時候
經常莫名其妙文檔的容量會變得很大
而表格中的内容其實并不多
遠不可能達到文件容量的大小
每次打開或保存文件時
都會很慢
之前收到一個表妹的求助,感覺她的文件比較有代表意義,于是把過程整理出來,給大家參考~
表妹的文件裡面隻有一個工作表
是一個815行9列的表格
有文字和公式
沒有其他内容了
這個很普通的表格,容量達到了55M之巨!
打開的時候都很慢
開始第一步排除
首先發現上下和左右的滾動條
有很多的虛位
也就是說
在表格的右邊和下邊還有很多空白行和列
可以判斷這些位置可能還有些内容。
但即使有内容也是不需要的了
于是選中空白的整行和整列進行删除
But,居然有一個提示:
确定後的結果更讓人奇怪:
雖然用的筆記本不是最高配置
但是處理文檔是絕對沒問題的
上千行的删除以前也幹過且毫無壓力
第一回合受到了些許挫折
再來
既然這樣提示
說明這些空白行列中的東西有古怪
有可能作者不小心留下了些什麼
這些有可能是條件格式、數據有效性
也有可能有文字、公式
雖然這些都不影響行列的删除
但是還是一步步來檢查。
按F5鍵打開定位功能
點擊其中的定位條件進入定位界面
選擇批注并确定
這個操作是檢查有沒有批注
結果提示說沒發現:
再重複定位操作
分别選剛才定位窗口裡面的各項内容:
對象、條件格式、數據有效性。。。
定位出下圖中肉眼看不到的很多形狀
後來問表妹才知道
在做表格的時候
還做過複制網頁文字的操作
複制網頁内容
會把裡面的一些控件帶進來
甚至是不可見的
這些在表格裡面表現為形狀
這些太多了的話當然也會影響文件容量的
所以有經驗的會先把文字粘貼到記事本
然後再從記事本複制粘貼到Excel
讓記事本過濾非文字的内容。
上述所有的古怪東西經過剛才的定位選中
都直接按delete鍵删除
所有都完成後
保存文檔
查看文件容量還有28M,有收貨!
繼續~
檢查另外一個定位也找不到的東西:
定義名稱
打開功能區的公式、名稱管理器功能
發現了很多古怪的内容
這些内容顯然會造成文件虛胖的
這些已經難以考究是怎麼來的了
反正是不需要的
于是在窗口中選中第一條
把滾動條拖到最後
按住Shift鍵後點最後一條
這樣選中全部的定義名稱後
點擊窗口中的删除按鈕
關閉窗口後保存文件
再檢查文件大小
減小到了15.4M
一鼓作氣
再繼續~
既然這個名稱管理器中莫名出現了東西
那麼還有一種可能
就是定義了名稱後
有可能被隐藏了起來
在剛才的窗口中是看不到的
這在人工做定義名稱
或者對含有定義名稱的表格複制
甚至在宏病毒幹擾下都有可能出現
于是這次要使用一個相對高級的幹貨了——VBA!
按Alt F11
打開VBA編輯窗口
雙擊對應的工作表
然後在右側的窗口中輸入代碼:
這個代碼的作用
是把文件中隐藏的名稱現形
按F5鍵運行這個代碼
然後重新打開功能區的公式、名稱管理器
又發現一個古怪東西:
事後表妹
總結得知這個叫作FilterDatabase的名稱
是由于表格中的數據是從外部導入的
Excel會自動生成一個數據區域的名稱
雖然後來這些數據有删除
但是這個名稱還會保留
讓Excel認為這個數據區域還在“使用中”
現在發現的名稱
區域範圍是$A$1:$XEW$65043
所以剛才第一回合的時候不能删除空白行列
現在終于可以了
毫不猶豫删除定義名稱
回到第一回合的操作
将空白行列删除
并保存文檔
這下查看文件屬性中的容量:
740K!
這個才是一個不到一千行的表格可以接受的大小
把剛才現形用的代碼删除,保存文檔
勝利收工~
下面是剛才提到的VBA代碼:
Sub showname()
Dim sh As Name
For Each sh In ThisWorkbook.Names
sh.Visible = True
Next sh
End Sub
覺得好用,不要忘分享、關注哦~
筆芯~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!