今日也是應(yīng)讀者的需求利用VBA解決實(shí)際問題。學(xué)而不用則殆!學(xué)習(xí)了新的知識(shí)就是要不斷的利用,提升,再利用再提升。所以要給這位提問題的朋友點(diǎn)贊!
有的讀者問:如何利用VBA來解決Excel提示不同的單元格格式太多的問題。
首先,我們先分析一下這個(gè)情況是什么時(shí)候發(fā)生,一般有幾種情況會(huì)發(fā)生這類問題。
1、復(fù)制粘貼時(shí),這時(shí)會(huì)提示單元格格式太多,無法粘貼,而且要經(jīng)過長時(shí)間的不知在做什么的處理過程,然后,EXCEL崩潰。你只能重啟。
2、在移動(dòng)工作表時(shí),將工作表整體從一個(gè)文件轉(zhuǎn)移到另一個(gè)工作表時(shí),也會(huì)出現(xiàn)這個(gè)問題,現(xiàn)象和上述一樣。
3 、在篩選數(shù)據(jù)時(shí),有時(shí)候,在篩選一個(gè)值時(shí),往往會(huì)出現(xiàn)上述的提示,當(dāng)你按確認(rèn)鍵后,EXCEL會(huì)再次計(jì)算,好在不會(huì)崩潰,只是時(shí)間非常長,這種情況往往出現(xiàn)在這個(gè)工作表的數(shù)據(jù)量巨大,往往是1萬行以上的數(shù)據(jù)。
其次,我們分析一下上述問題產(chǎn)生的原因。其實(shí)這類問題的產(chǎn)生不是用戶的錯(cuò),而是OFFICE系統(tǒng),或者說,EXCEL從03版升級(jí)到07版之后,帶給用戶的 一個(gè)遺留問題,他們?yōu)t灑的升級(jí)完了,但留下了一堆苦果讓用戶去慢慢品嘗。為什么這么說呢?一點(diǎn)也不過分!03版和07版不兼容就是罪魁禍?zhǔn)?。?7版加入了很多全新的內(nèi)容,這些在03版及低版本無法顯示,才出現(xiàn)了上述的問題。
所以,當(dāng)你用07版本打開03版本;或者03版打開07版本(有兼容包);或者是往03版本拷貝07版本數(shù)據(jù);或者是往07版本拷貝入03版本數(shù)據(jù)時(shí),極易發(fā)生上述問題。如果一個(gè)工作表的數(shù)據(jù)既有03版本的又有07版本的,那么你非常的不走運(yùn),在你篩選時(shí),很可能就是這個(gè)結(jié)果。
問題的原因分析完了,那么怎么解決呢?
辦法一:在工作表中刷格式,采用一個(gè)格式全部的刷一遍,但也不能很好的解決問題。
辦法二:新建一個(gè)工作表,把原數(shù)據(jù)數(shù)值粘貼到新的工作表中,原來的格式全然沒有了。
辦法三:就是今天我們重點(diǎn)講的VBA方法:
拷入下面的代碼:
Sub KK()
2 Dim s As Style
3 A = False
4 On Error Resume Next
5 For Each s In T
6 If Not s.BuiltIn Then s.Delete
7 Next
8 A = True
9 MsgBox ("OK")
10 End Sub
很簡(jiǎn)單的幾行代碼,往往能解決很大的問題。代碼講解:
(1)A = False
A = True
上述語句是成對(duì)出現(xiàn)的,前者是關(guān)閉屏幕更新,以提高程序的效率;后者是打開屏幕刷新,
(2)On Error Resume Next
忽略錯(cuò)誤,繼續(xù)執(zhí)行
(3)第五行和第七行構(gòu)成了一個(gè)FOR NEXT語句,此語句在之前的文章中講過,不過這里用的是For Each s In T,翻譯過來就是說對(duì)于這個(gè)工作表中所有的格式將進(jìn)行的操作,什么操作呢?就是:
If Not s.BuiltIn Then s.Delete 執(zhí)行到這里,所有的自定義格式全部被刪除掉了。
(4)最后全部執(zhí)行完成彈出對(duì)話框:MsgBox ("OK")
看我們的代碼截圖:
剩余的工作就是,畫個(gè)按鈕,連鎖上述代碼,就可以了,經(jīng)測(cè)試,這個(gè)方法還是可行的,如有遇到這個(gè)問題的讀者可以試試看啊。
今日技巧提示:
1 A = False;A = True
的作用是什么?能否單獨(dú)出現(xiàn)?
2. On Error Resume Next 作用是什么?
3,F(xiàn)or each next 語句是否理解呢?
1.《Excel提示不同的單元格格式太多,利用VBA徹底解決!》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請(qǐng)聯(lián)系頁腳下方聯(lián)系方式。
2.《Excel提示不同的單元格格式太多,利用VBA徹底解決!》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來源地址,http://f99ss.com/gl/2198654.html