excel的單元格格式總是變成「自定義」,導致數據變成亂碼,請問如何根治?

背景:

1、題主經常做EXCEL表格,但是總遇到此類EXCEL表格;

2、單元格格式每次打開都自己變成自定義(custom),經常發生在日期和數據格式的單元格里;

3、之前在網上查過,刪除掉自定義里的「【$-409】mmm/yy;@」就行了(如下圖);

4、但是過幾次這個格式還是會自己跑出來;

5、而且其他人打開我的EXCEL也會是這樣;

6、還有一種情況是【$-804】

問題:

1、請問這是為什麼呢?我百思不得其解;

2、請問如何根治?

再次感謝回復。


猜題主用的是2007

原因多半是使用了過多的單元格樣式

一句話說不清楚,咱們如果繼續下去,題主告訴我你使用office的版本以及將文件共享(看我簽名),我給你一個解決方案

題主已經提供附件,我就繼續更新:

原因果然就是過多的單元格樣式:

這個是默認的:

這個是題主的:

產生這樣結果的原因繼續深挖就是一個模板反覆套用,陳年積累下來就是這麼多,超出了excel的這方面的上限了,excel就罷工了。

治療方法:

1、xlsx文件本質就是一個rar文件,所以找到你的文件,更改後綴名xlsx為rar

2、打開這個rar ,進入xl目錄下,刪除sytles.xml文件

3、然後關閉打開的rar文件,將後綴rar改為xlsx

4、打開xlsx表格,出現下面提示點是

5、這事你表中自定義單元格樣式全部被刪除,煥然一新,重新開始設置你的格式吧。

6、個人建議:有條件的話,不要使用office2007,如果不能更換(考慮到題主說的微軟答覆,可能是正版)那就不要在同一個工作簿中,將一個設置各種複雜單元格樣式的sheet複製出來作為新的sheet,哪怕你最終只保留1個sheet,其他都刪了,但是單元格樣式被保留下來了

ps:2007我沒用過,也許打個office的補丁能解決這個問題,但是我遇到的最多的都是用的2007.


請教大神,我按你的方法還是沒搞定!

改了後綴後打開提示已經損壞,但能打開。刪除時無法刪除,提示進程無法訪問。(沒有打開文檔)。


知乎這麼多大神沒有人來回答嗎?關注問題很長時間了,也從網上找了很多解決辦法,目前為止下面的程序代碼還算是比較好用的:

Sub test()

Dim mystyle As Style

On Error Resume Next

For Each mystyle In ActiveWorkbook.Styles

If mystyle.BuiltIn = False Then mystyle.Delete

Next

End Sub

如果有更好的方法,還望不吝賜教。


推薦閱讀:

如何做好銷售部門的費用預算?
年報那些事兒之:EVA分析法
年報拆解:造假造到國外去--雅百特
職場中打死也不能得罪的6類人
【原創】從納稅人識別號的歷史分享一個快速查詢全國納稅人識別號的APP

TAG:MicrosoftOffice | 財務 | MicrosoftExcel | 表格 |