如何才能給Excel工作簿減肥
1、工作表中的格式過(guò)于復(fù)雜(如多種字體,多種顏色,條件格式等等)。
我們都知道,一個(gè)工作表有65536×256個(gè)單元格,這個(gè)非常大的一個(gè)范圍。我們?cè)趹?yīng)用一些格式設(shè)置時(shí),往往為了方便,直接在整行,或整列,或者在多行和多列中應(yīng)用,這樣其實(shí)是不妥當(dāng)?shù)。我相信很少有人?huì)用滿整列,或者整行。大量的沒(méi)有用到的單元格被加上了一些格式后,Excel并不總是知道這個(gè)單元格是不需要用的,而往往在計(jì)算時(shí)會(huì)包括這些單元格。另外,格式的多樣性(包括字體,顏色等),勢(shì)必是要造成Excel文件體積變大,這是不難理解的。
用盡量少的格式樣式,如字體和顏色,畢竟Excel的優(yōu)勢(shì)不是在于文書(shū),版面的展示(那是Word,PowerPoint等的強(qiáng)項(xiàng))。
刪除“空白”的單元格。找到工作表中最右下角的單元格(請(qǐng)注意:除非你有自信,請(qǐng)不要過(guò)分依賴Excel的“定位”、“最后一個(gè)單元格”所給你的結(jié)果),我是說(shuō)你可以手工找到這個(gè)單元格。然后選中這個(gè)單元格右邊所有的列,然后執(zhí)行菜單命令:“編輯”、“清除”、“全部”,接下來(lái),選中這個(gè)單元格下面所有的行,同樣執(zhí)行菜單命令:“編輯”、“清除”、“全部”,然后保存。
2、圖片或者其他繪圖圖形較多,或者圖片選擇了不恰當(dāng)?shù)母袷健?/strong>
在文檔中引用的圖片格式一般有三種,BMP、JPG、GIF。BMP格式保存的圖片保真度較高,但大小往往是其它兩種格式的幾倍至幾十倍,而照片、掃描圖片等用GIF格式保存則失真非常嚴(yán)重,因此建議圖片先采用JPG格式保存,然后再引入到文檔中,這種格式的圖片大小不僅比BMP格式小很多,而且往往也比GIF的格式小,而保真度與BMP格式則相差無(wú)幾。
插入圖片有兩種方法,第一種是將圖片保存為一個(gè)JPG格式的文件,選擇“插入→圖片→來(lái)自文件”,打開(kāi)“插入圖片”對(duì)話框,選中所需插入的圖片文件,點(diǎn)擊“插入”即可。另一種是用“畫(huà)圖”、“Microsoft照片編輯器”等打開(kāi)這個(gè)JPG文件,選中并復(fù)制,然后在文檔中點(diǎn)擊“粘貼”即可插入。強(qiáng)烈建議大家采用第一種方法,雖然兩種方法得到的圖片質(zhì)量是一樣的,但第一種方法所形成的文檔的大小可能會(huì)比第二種小幾十倍!
徹底清除圖形對(duì)象:例如我們自己畫(huà)的一些圖形,比如你現(xiàn)在不要用它們了,你選擇行或者列范圍刪除,清除都是清除不掉了,他們只是可能縮小了。
按F5→定位條件→對(duì)象→確定,按Delete清除
3、公式和名稱較多或者公式,名稱,數(shù)據(jù)透視表等所引用的單元格范圍過(guò)大。
由于和第二點(diǎn)類似的.原因,我們?cè)诙x名稱,編寫(xiě)公式,指定數(shù)據(jù)透視表的數(shù)據(jù)源時(shí)往往圖一時(shí)方便,而指定了過(guò)大的單元格范圍。例如在A列中有包括標(biāo)題在內(nèi)的10個(gè)數(shù)據(jù)(A1:A10),標(biāo)題為“姓名”,我們現(xiàn)在要定義一個(gè)名稱,例如“姓名”,很多人會(huì)用“插入”、“名稱”、“指定”。首行,這當(dāng)然是方便的,但這樣的話“姓名”這個(gè)名稱就引用了A2:A65536,而不是實(shí)際的A2:A10。你能想象到兩者的差別嗎?
這時(shí)候,有的朋友要說(shuō):我這樣做的原因是因?yàn)槲业臄?shù)據(jù)是在不斷增加的呀,我可不想每次在變動(dòng)的時(shí)候都去改這個(gè)名稱。
當(dāng)然,你是對(duì)的,誰(shuí)會(huì)愿意這樣做呢?當(dāng)我確信我定義的這個(gè)名稱所引用的范圍不可能是固定的時(shí)候,我采用了一個(gè)方法就是“動(dòng)態(tài)命名”。聽(tīng)起來(lái)有點(diǎn)耳熟對(duì)嗎?請(qǐng)看這個(gè)例子:為簡(jiǎn)單起見(jiàn),我們假設(shè)數(shù)據(jù)都是連續(xù)地在A10后面開(kāi)始添加,也就是說(shuō)我們希望當(dāng)我們添加到A15時(shí),這個(gè)"姓名"就如我所愿地指向A2:A15,而這一切都是自動(dòng)完成的。那么你可以在“插入”、“名稱”、“定義”對(duì)話框中,找到“姓名”,然后修改引用位置為=OFFSET($A$2,0,0,COUNTA($A:$A)-1,1),然后點(diǎn)擊“添加”。請(qǐng)留步,先不要急著關(guān)閉這個(gè)對(duì)話框。你現(xiàn)在可以將鼠標(biāo)放在“引用位置”的這個(gè)框里面,由此來(lái)驗(yàn)證你要的結(jié)果?吹搅藛幔抗ぷ鞅碇心且婚W一閃的區(qū)域就表示了目前“姓名”所引用的單元格范圍
這只是一個(gè)簡(jiǎn)單的示范,利用這種技巧,可能讓我們用最經(jīng)濟(jì)的方式得到我們需要的結(jié)果。
在公式引用中,在指定數(shù)據(jù)透視表的數(shù)據(jù)源時(shí),都可以運(yùn)用類似的技巧。當(dāng)然,我不會(huì)推薦你寫(xiě)類似這樣的公式=CountA(OFFSET($A$2,0,0,COUNTA($A:$A)-1,1)),而是推薦你先定義好這個(gè)名稱,然后這樣寫(xiě)公式:=CountA(姓名)
這種效果在數(shù)組公式中更明顯,除非你有足夠的耐心和勇氣,請(qǐng)不要在數(shù)組公式用引用過(guò)大的單元格范圍,特別是那些不必要的單元格。
請(qǐng)注意,以上的檢查應(yīng)該是針對(duì)工作簿中的所有工作表,包括隱藏的。
4、VBA代碼,尤其是用戶窗體的影響。
現(xiàn)在很多朋友都已經(jīng)學(xué)會(huì)了用VBE來(lái)構(gòu)建自己的工程,但今天我們要討論的是如何處理VBA工程可能帶來(lái)一些副作用以及如何壓縮它?
有很多測(cè)試證明,用戶窗體會(huì)是增加文件大小的比較突出的原因之一。而反復(fù)地改寫(xiě)工程中模塊的代碼,也或多或少地會(huì)增加文件的大小(我們可以這樣理解:反復(fù)地改寫(xiě)工程代碼,總是會(huì)留下一些痕跡和碎片)。
對(duì)于這個(gè)問(wèn)題,可以考慮將所有模塊,窗體,都導(dǎo)出為文件,然后保存,然后再依次導(dǎo)入。
關(guān)于用戶窗體,作為開(kāi)發(fā)者應(yīng)該考慮的是:是否真的有必要用某個(gè)窗體?舉個(gè)簡(jiǎn)單的例子,如果只是接收用戶輸入數(shù)值,就完全可以用InputBox方法或者屬性,而不需專門用一個(gè)窗體。同時(shí),工作表本身可以用來(lái)做用戶交互的界面,應(yīng)該充分利用。
5、外部鏈接(特別是死鏈接)的影響。
有的時(shí)候,我們的工作簿中可能包含了一些外部引用,這樣我們可以共享其他工作簿的一些信息。如果你的工作簿中包含外部鏈接,你可以通過(guò)“編輯”、“鏈接”對(duì)話框中查看到。默認(rèn)情況下,文件在打開(kāi)時(shí),總是嘗試去鏈接源文件,以刷新數(shù)據(jù)。在保存時(shí),會(huì)紀(jì)錄鏈接的變化情況
當(dāng)源文件的位置或者內(nèi)容發(fā)生變化時(shí),就可能產(chǎn)生死鏈接。
我個(gè)人非常不主張用鏈接方式來(lái)實(shí)現(xiàn)不同文件間數(shù)據(jù)的共享,這既不是最方便的方法,而且在文件分發(fā)過(guò)程中會(huì)遇到一些問(wèn)題。我當(dāng)然知道數(shù)據(jù)共享是有意義的,但我經(jīng)常會(huì)嘗試用其他的途徑來(lái)實(shí)現(xiàn)。
6、關(guān)于自動(dòng)保存選項(xiàng)的考量。
選中這個(gè)選項(xiàng)時(shí),每次進(jìn)行保存文檔的操作則只保存文檔的修改部分,保存速度較快,但文檔的大小也會(huì)增加,即使是對(duì)文檔進(jìn)行刪減操作也是如此。目前計(jì)算機(jī)的速度較快,因此開(kāi)啟這項(xiàng)功能所帶來(lái)速度的增加毫不明顯,但付出的代價(jià)是文檔的大小急劇膨脹,建議不要選中這個(gè)選項(xiàng)。試著關(guān)閉這個(gè)選項(xiàng),再對(duì)文檔稍作修改,然后保存,你會(huì)驚奇地發(fā)現(xiàn)文檔的大小會(huì)大幅度縮小!
7、文件異常退出(或者其他不可預(yù)見(jiàn)的原因)造成的工作簿內(nèi)工作表結(jié)構(gòu)方面的損壞。
有時(shí)候,由于一些不可預(yù)見(jiàn)的原因(例如停電),Excel被迫異常退出。雖然目前沒(méi)有專門的工具可以檢測(cè)這種情況對(duì)工作簿內(nèi)部可能造成的損壞程度,但是有理由相信多少是有影響的。
如果你的文件中不存在前面提到的幾個(gè)問(wèn)題,同時(shí)你還是確信文件體積不正常,你可以嘗試如下的方法。
新建一個(gè)工作簿,把現(xiàn)有文件中的工作表一一剪切到新的工作簿中。請(qǐng)注意這里用的是“剪切”方法,不是“移動(dòng)或復(fù)制工作表”,也不是“復(fù)制”。沒(méi)錯(cuò),就是先選中工作表中的內(nèi)容,然后“剪切”,光標(biāo)移動(dòng)到目標(biāo)工作表,然后“粘貼”。這樣做唯一不足的地方就是,目標(biāo)工作表的行和列格式可能要稍微調(diào)整一下。
【如何才能給Excel工作簿減肥】相關(guān)文章:
1.關(guān)于一次打開(kāi)多個(gè)Excel工作簿的方法
2.關(guān)于工作簿Excel 2007中雙面打印的解決方法
6.Excel如何避免重復(fù)輸入數(shù)據(jù)
9.如何炒牛肉才嫩