當前位置:才華齋>計算機>office辦公>

如何才能給Excel工作簿減肥

office辦公 閱讀(1.68W)

1、工作表中的格式過於複雜(如多種字型,多種顏色,條件格式等等)。

如何才能給Excel工作簿減肥

我們都知道,一個工作表有65536×256個單元格,這個非常大的一個範圍。我們在應用一些格式設定時,往往為了方便,直接在整行,或整列,或者在多行和多列中應用,這樣其實是不妥當的。我相信很少有人會用滿整列,或者整行。大量的沒有用到的單元格被加上了一些格式後,Excel並不總是知道這個單元格是不需要用的,而往往在計算時會包括這些單元格。另外,格式的多樣性(包括字型,顏色等),勢必是要造成Excel檔案體積變大,這是不難理解的。

用盡量少的格式樣式,如字型和顏色,畢竟Excel的優勢不是在於文書,版面的展示(那是Word,PowerPoint等的強項)。

刪除“空白”的單元格。找到工作表中最右下角的單元格(請注意:除非你有自信,請不要過分依賴Excel的“定位”、“最後一個單元格”所給你的結果),我是說你可以手工找到這個單元格。然後選中這個單元格右邊所有的列,然後執行選單命令:“編輯”、“清除”、“全部”,接下來,選中這個單元格下面所有的行,同樣執行選單命令:“編輯”、“清除”、“全部”,然後儲存。

2、圖片或者其他繪圖圖形較多,或者圖片選擇了不恰當的格式。

在文件中引用的圖片格式一般有三種,BMP、JPG、GIF。BMP格式儲存的圖片保真度較高,但大小往往是其它兩種格式的幾倍至幾十倍,而照片、掃描圖片等用GIF格式儲存則失真非常嚴重,因此建議圖片先採用JPG格式儲存,然後再引入到文件中,這種格式的圖片大小不僅比BMP格式小很多,而且往往也比GIF的格式小,而保真度與BMP格式則相差無幾。

插入圖片有兩種方法,第一種是將圖片儲存為一個JPG格式的檔案,選擇“插入→圖片→來自檔案”,開啟“插入圖片”對話方塊,選中所需插入的圖片檔案,點選“插入”即可。另一種是用“畫圖”、“Microsoft照片編輯器”等開啟這個JPG檔案,選中並複製,然後在文件中點選“貼上”即可插入。強烈建議大家採用第一種方法,雖然兩種方法得到的圖片質量是一樣的,但第一種方法所形成的文件的大小可能會比第二種小几十倍!

徹底清除圖形物件:例如我們自己畫的一些圖形,比如你現在不要用它們了,你選擇行或者列範圍刪除,清除都是清除不掉了,他們只是可能縮小了。

按F5→定位條件→物件→確定,按Delete清除

3、公式和名稱較多或者公式,名稱,資料透視表等所引用的單元格範圍過大。

由於和第二點類似的原因,我們在定義名稱,編寫公式,指定資料透視表的資料來源時往往圖一時方便,而指定了過大的單元格範圍。例如在A列中有包括標題在內的10個數據(A1:A10),標題為“姓名”,我們現在要定義一個名稱,例如“姓名”,很多人會用“插入”、“名稱”、“指定”。首行,這當然是方便的,但這樣的話“姓名”這個名稱就引用了A2:A65536,而不是實際的A2:A10。你能想象到兩者的差別嗎?

這時候,有的朋友要說:我這樣做的原因是因為我的資料是在不斷增加的呀,我可不想每次在變動的時候都去改這個名稱。

當然,你是對的,誰會願意這樣做呢?當我確信我定義的這個名稱所引用的範圍不可能是固定的時候,我採用了一個方法就是“動態命名”。聽起來有點耳熟對嗎?請看這個例子:為簡單起見,我們假設資料都是連續地在A10後面開始新增,也就是說我們希望當我們新增到A15時,這個"姓名"就如我所願地指向A2:A15,而這一切都是自動完成的。那麼你可以在“插入”、“名稱”、“定義”對話方塊中,找到“姓名”,然後修改引用位置為=OFFSET($A$2,0,0,COUNTA($A:$A)-1,1),然後點選“新增”。請留步,先不要急著關閉這個對話方塊。你現在可以將滑鼠放在“引用位置”的這個框裡面,由此來驗證你要的結果。看到了嗎?工作表中那一閃一閃的區域就表示了目前“姓名”所引用的單元格範圍

這只是一個簡單的示範,利用這種技巧,可能讓我們用最經濟的方式得到我們需要的結果。

在公式引用中,在指定資料透視表的資料來源時,都可以運用類似的技巧。當然,我不會推薦你寫類似這樣的公式=CountA(OFFSET($A$2,0,0,COUNTA($A:$A)-1,1)),而是推薦你先定義好這個名稱,然後這樣寫公式:=CountA(姓名)

這種效果在陣列公式中更明顯,除非你有足夠的耐心和勇氣,請不要在陣列公式用引用過大的單元格範圍,特別是那些不必要的單元格。

請注意,以上的檢查應該是針對工作簿中的所有工作表,包括隱藏的。

4、VBA程式碼,尤其是使用者窗體的影響。

現在很多朋友都已經學會了用VBE來構建自己的工程,但今天我們要討論的是如何處理VBA工程可能帶來一些副作用以及如何壓縮它?

有很多測試證明,使用者窗體會是增加檔案大小的比較突出的原因之一。而反覆地改寫工程中模組的程式碼,也或多或少地會增加檔案的大小(我們可以這樣理解:反覆地改寫工程程式碼,總是會留下一些痕跡和碎片)。

對於這個問題,可以考慮將所有模組,窗體,都匯出為檔案,然後儲存,然後再依次匯入。

關於使用者窗體,作為開發者應該考慮的是:是否真的有必要用某個窗體?舉個簡單的例子,如果只是接收使用者輸入數值,就完全可以用InputBox方法或者屬性,而不需專門用一個窗體。同時,工作表本身可以用來做使用者互動的介面,應該充分利用。

5、外部連結(特別是死連結)的影響。

有的時候,我們的工作簿中可能包含了一些外部引用,這樣我們可以共享其他工作簿的一些資訊。如果你的工作簿中包含外部連結,你可以通過“編輯”、“連結”對話方塊中檢視到。預設情況下,檔案在開啟時,總是嘗試去連結原始檔,以重新整理資料。在儲存時,會紀錄連結的變化情況

當原始檔的`位置或者內容發生變化時,就可能產生死連結。

我個人非常不主張用連結方式來實現不同檔案間資料的共享,這既不是最方便的方法,而且在檔案分發過程中會遇到一些問題。我當然知道資料共享是有意義的,但我經常會嘗試用其他的途徑來實現。

6、關於自動儲存選項的考量。

選中這個選項時,每次進行儲存文件的操作則只儲存文件的修改部分,儲存速度較快,但文件的大小也會增加,即使是對文件進行刪減操作也是如此。目前計算機的速度較快,因此開啟這項功能所帶來速度的增加毫不明顯,但付出的代價是文件的大小急劇膨脹,建議不要選中這個選項。試著關閉這個選項,再對文件稍作修改,然後儲存,你會驚奇地發現文件的大小會大幅度縮小!

7、檔案異常退出(或者其他不可預見的原因)造成的工作簿內工作表結構方面的損壞。

有時候,由於一些不可預見的原因(例如停電),Excel被迫異常退出。雖然目前沒有專門的工具可以檢測這種情況對工作簿內部可能造成的損壞程度,但是有理由相信多少是有影響的。

如果你的檔案中不存在前面提到的幾個問題,同時你還是確信檔案體積不正常,你可以嘗試如下的方法。

新建一個工作簿,把現有檔案中的工作表一一剪下到新的工作簿中。請注意這裡用的是“剪下”方法,不是“移動或複製工作表”,也不是“複製”。沒錯,就是先選中工作表中的內容,然後“剪下”,游標移動到目標工作表,然後“貼上”。這樣做唯一不足的地方就是,目標工作表的行和列格式可能要稍微調整一下。