劉培元
摘要:探討excel電子表格復(fù)制失敗的原因。反復(fù)試驗(yàn),探究真相:?jiǎn)卧駱邮竭^(guò)多造成電子表格無(wú)法復(fù)制。運(yùn)用宏的方法刪除過(guò)多的樣式,排除故障。
關(guān)鍵詞: excel;單元格樣式;刪除;復(fù)制
中圖分類(lèi)號(hào):TP37 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)32-0243-02
筆者原來(lái)使用的是excel2003,由于工作需要,常常在不同的excel文件之間復(fù)制粘貼數(shù)據(jù)。后來(lái),office2003辦公系統(tǒng)升級(jí)到office2007?;谲浖a(chǎn)品均有向后兼容的特點(diǎn),我們能夠使用excel2007辦公軟件打開(kāi)excel2003格式的文件。
在使用現(xiàn)有的EXCEL2007辦公軟件編輯原有的excel2003格式的文件時(shí),會(huì)有復(fù)制失敗的情況發(fā)生,令人困惑。
1 什么是單元格樣式
單元格樣式是excel中一組已定義的格式特性組合。比如字體、字號(hào)、數(shù)字格式、單元格邊框以及單元格底紋,等等。
這些格式特性組合可以使用可鎖定單元格的單元格樣式,防止其他人對(duì)特定單元格進(jìn)行更改。Office Excel 2007 包含若干內(nèi)置單元格樣式,可以應(yīng)用或修改這些樣式。還可以修改或重制單元格樣式以創(chuàng)建自己的自定義單元格樣式。
2 單元格樣式的使用
單元格樣式是基于整個(gè)工作簿的文檔主題的應(yīng)用。當(dāng)您切換到另一主題時(shí),excel2007將自動(dòng)對(duì)單元格樣式進(jìn)行更新以匹配新主題。
實(shí)際上,我們可以把單元格樣式理解為“預(yù)先定制”的格式集合,在應(yīng)用這個(gè)樣式時(shí),相當(dāng)于“批處理” 預(yù)先定制的格式集合。從而達(dá)到統(tǒng)一,高效,快捷地排版的目的。
3 出現(xiàn)故障的原因
為什么用戶在使用excel2007打開(kāi)excel2003文件時(shí),會(huì)出現(xiàn)提示:“不同的單元格格式太多”,粘貼失敗。見(jiàn)圖1:不同的單元格格式太多。
圖1 不同的單元格格式太多
我們通過(guò)故障再現(xiàn),反復(fù)試驗(yàn),終于發(fā)現(xiàn),用戶在不同的excel文件間復(fù)制粘貼數(shù)據(jù)時(shí),單元格樣式也一起復(fù)制了。這就會(huì)導(dǎo)致excel文件的樣式一直在增加,當(dāng)達(dá)到一定程度時(shí),excel不能保存更多的樣式,那么復(fù)制就會(huì)失敗。總之:無(wú)效樣式過(guò)多,就產(chǎn)生了這種復(fù)制失敗的現(xiàn)象。
4 修復(fù)故障
思路:測(cè)試本工作薄中有多少個(gè)樣式,分別是哪些樣式,然后刪除沒(méi)有使用價(jià)值的樣式。
1)顯示工作薄中的單元格樣式數(shù)量
Sub 使用宏顯示活動(dòng)工作薄中單元格樣式的數(shù)量()
dim a
a=activeworkbook.styles.count '活動(dòng)工作薄中共有多少個(gè)樣式
msgbox(a) '以對(duì)話框的形式顯示樣式個(gè)數(shù)
End Sub
運(yùn)行結(jié)果見(jiàn)圖2:?jiǎn)卧駱邮降臄?shù)量
圖2 單元格樣式的數(shù)量
2)查看活動(dòng)工作薄中有哪些樣式。
方法一:利用菜單欄。單擊"開(kāi)始"—"單元格樣式",在彈出的列表框中列出該活動(dòng)工作薄中全部的單元格樣式。見(jiàn)圖3:?jiǎn)卧駱邮搅斜怼?/p>
圖3 單元格樣式列表
方法二:使用宏。將活動(dòng)工作薄中的樣式輸出到d:\allstyles.txt文本文件中,然后打開(kāi)該文本文件任意查看這些樣式。
操作步驟:第1步:?jiǎn)螕?開(kāi)發(fā)工具"—"宏",在宏名文本框中輸入新創(chuàng)建的宏的名稱:“顯示所有宏名”,單擊“新建”按鈕。見(jiàn)圖4:宏對(duì)話框。
圖4 宏對(duì)話框
第2步:在彈出的窗口中輸入代碼。
Sub 顯示所有宏名()
Dim k, i
Open "d:\allstyles.txt" For Output As #1
k = ActiveWorkbook.Styles.Count
For i = 1 To k Step 1
Print #1, ActiveWorkbook.Styles(i).Name
Next i
End Sub
第3步:?jiǎn)螕簟氨4妗卑粹o,然后執(zhí)行。這樣本活動(dòng)工作薄中的所有樣式均輸出到d:\allstyles.txt文本文件中了。我們可以打開(kāi)d:\allstyles.txt文件,仔細(xì)查看這些樣式。
3)刪除樣式。通常情況下,保留normal,刪除其他樣式。
方法一:一個(gè)個(gè)地刪除。
操作步驟:第1步:?jiǎn)螕簟伴_(kāi)始”菜單—“單元格樣式”按鈕下方的三角形,彈出單元格樣式對(duì)話框。見(jiàn)圖5:?jiǎn)卧駱邮健?/p>
圖5 單元格樣式
第3步:右擊某個(gè)樣式,在彈出的快捷菜單中,選擇刪除。
重復(fù)以上步驟,刪除沒(méi)有使用價(jià)值的樣式。在實(shí)際操作中,往往由于工作簿中的自定義單元格樣式非常多,手動(dòng)逐一操作顯得不太可能。
方法二:使用宏
操作步驟:第1步:按Alt+F8,彈出“宏”對(duì)話框,在宏名文本框中,輸入宏名:“使用宏批量刪除所有非normal的樣式”,單擊“創(chuàng)建”按鈕。見(jiàn)圖6:宏窗口。
圖6 宏窗口
第2步:輸入代碼。
Sub 使用宏批量刪除所有非normal的樣式()
dim a,i
EX:
a=activeworkbook.styles.count
msgbox(a)
For i = 1 To activeworkbook.styles.count
On Error Resume Next
if ActiveWorkbook.Styles(i).name <>"normal" then ActiveWorkbook.Styles(i).Delete
Next i
If ActiveWorkbook.Styles.Count > 2 Then GoTo EX
End Sub
第3步:?jiǎn)螕簟氨4妗卑粹o,然后執(zhí)行。這樣本活動(dòng)工作薄中的僅保留normal樣式,其他樣式均已經(jīng)刪除了。
5 拓展應(yīng)用
故障描述:在使用excel2007打開(kāi)excel2003格式的文件時(shí),修改字體、字號(hào)等等格式,然后保存,再打開(kāi),發(fā)現(xiàn)還是原樣,也就是說(shuō)格式保存不了。
故障原因:?jiǎn)卧駱邮竭^(guò)多。
修復(fù)故障:同上,即刪除該文件中多余的單元格樣式,就可以保存單元格樣式啦。
參考文獻(xiàn):
[1] Excel Home.Excel 2010應(yīng)用大全[M].人民郵電出版社,2011:166-176.
[2] 羅剛君.Excel VBA程序開(kāi)發(fā)自學(xué)寶典[M].3版.電子工業(yè)出版社,2014:5-25.