EXCEL提示「不同的單元格格式太多」的苦果,利用VBA徹底解決!

2020-12-17 VBA語言專家

今日也是應讀者的需求利用VBA解決實際問題。學而不用則殆!學習了新的知識就是要不斷的利用,提升,再利用再提升。所以要給這位提問題的朋友點讚!

有的讀者問:如何利用VBA來解決Excel提示不同的單元格格式太多的問題呢?

首先,我們先分析一下這個情況是什麼時候發生,一般有幾種情況會發生這類問題。

1複製粘貼時,這時會提示單元格格式太多,無法粘貼,而且要經過長時間的不知在做什麼的處理過程,然後,EXCEL崩潰。你只能重啟。

2在移動工作表時,將工作表整體從一個文件轉移到另一個工作表時,也會出現這個問題,現象和上述一樣。

3 在篩選數據時,有時候,在篩選一個值時,往往會出現上述的提示,當你按確認鍵後,EXCEL會再次計算,好在不會崩潰,只是時間非常長,這種情況往往出現在這個工作表的數據量巨大,往往是1萬行以上的數據。

然後,我們分析一下上述問題產生的原因。其實這類問題的產生不是用戶的錯,而是OFFICE系統,或者說,EXCEL從03版升級到07版之後,帶給用戶的 一個遺留問題,他們瀟灑的升級完了,但留下了一堆苦果讓用戶去慢慢品嘗。為什麼這麼說呢?一點也不過分!03版和07版不兼容就是罪魁禍首。在07版加入了很多全新的內容,這些在03版及低版本無法顯示,才出現了上述的問題。

所以,當你用07版本打開03版本;或者03版打開07版本(有兼容包);或者是往03版本拷貝07版本數據;或者是往07版本拷貝入03版本數據時,極易發生上述問題。如果一個工作表的數據既有03版本的又有07版本的,那麼你非常的不走運,在你篩選時,很可能就是這個苦果。

問題的原因分析完了,那麼怎麼解決呢?

辦法一:在工作表中刷格式,採用一個格式全部的刷一遍,但也不能很好的解決問題。

辦法二:新建一個工作表,把原數據數值粘貼到新的工作表中,原來的格式全然沒有了。

辦法三:就是今天我們重點講的VBA方法:

拷入下面的代碼:

Sub KK()

2 Dim s As Style

3 Application.ScreenUpdating = False

4 On Error Resume Next

5 For Each s In ThisWorkbook.Styles

6 If Not s.BuiltIn Then s.Delete

7 Next

8 Application.ScreenUpdating = True

9 MsgBox ("OK")

10 End Sub

很簡單的幾行代碼,往往能解決很大的問題。代碼講解:

(1)Application.ScreenUpdating = False

Application.ScreenUpdating = True

上述語句是成對出現的,前者是關閉屏幕更新,以提高程序的效率;後者是打開屏幕刷新,

(2)On Error Resume Next

忽略錯誤,繼續執行

(3)第五行和第七行構成了一個FOR NEXT語句,此語句在之前的文章中講過,不過這裡用的是For Each s In ThisWorkbook.Styles,翻譯過來就是說對於這個工作表中所有的格式將進行的操作,什麼操作呢?就是:

If Not s.BuiltIn Then s.Delete 執行到這裡,所有的自定義格式全部被刪除掉了。

(4)最後全部執行完成彈出對話框:MsgBox ("OK")

看我們的代碼截圖:

剩餘的工作就是,畫個按鈕,連鎖上述代碼,就可以了,經測試,這個方法還是可行的,如有遇到這個問題的讀者可以試試看啊。

今日技巧提示:

1 Application.ScreenUpdating = False;Application.ScreenUpdating = True

的作用是什麼?能否單獨出現?

2. On Error Resume Next 作用是什麼?

3,For each next 語句是否理解呢?

分享成果,隨喜正能量

相關焦點

  • 詳解excel單元格格式
    Excel單元格格式的章節會分為兩篇文章,第一篇我們先了解下excel單元格格式的基本設置及作用,第二章講解excel單元格格式的自定義,很多excel初學者都覺得excel單元格格式的設置十分雞肋,但是excel單元格的作用其實非常的強大,我們在適合的情況下選用合適的單元格格式,會對我們的工作帶來巨大的便利一
  • 當文字內容太多excel單元格盛不下應該怎麼做
    當我們在編輯excel數據,特別是要列印出來的表格。有時候會因為表頭單元格文字內容太多放不下,此時單元格就會顯示「########」符號。這時候,我們雙擊excel中每一列與另一列中間的豎線,那麼這一列的單元格列寬就可以根據內容自動調整過來了。可是,我們這樣操作後,會發現每一列的寬度是不一樣的。特別在處理那些規範要求每一列的寬度一致時,這時候此種方法就無能為力了。那麼,我們還有什麼辦法解決這樣的問題嗎?
  • 「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel
    今天,我就沿用上一章的數據,把需求升級一下,以解決上述疑點。本文要點:使用 xlwings ,設置單元格格式使用 pandas 快速做高難度分組操作注意:雖然本文是"Python替代Excel Vba"系列,但希望各位讀者明白,工具都是各有所長
  • 自定義單元格格式,讓顯示格式千變萬化
    大家好,今天我們就來學習excel單元格格式自定義的相關內容,單元格格式的自定義作為excel單元格的高階應用在日常工作中有著十分廣泛的應用,可以幫助我們解決很多問題,徹底掌握它能夠讓你在未來的工作中如虎添翼,不信?下面通過幾個小動畫來展現下他的強大之處1.
  • 8個excel自定義單元格格式套路,可直接套用
    Hello,大家好,今天有粉絲問我說如何只通過一點就能看出一個人的excel怎麼樣,我不假思索的回答他:通過自定義單元格格式就可以看出來,他又問到那自定義單元格格式都能做什麼呢,今天就跟大家分享一些常見的自定義單元格格式的用法,直接套用即可使用,在這裡就不多做介紹了,可以翻看下之前的文章有詳細的介紹
  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • 英語水平差,找不到Excel在哪設置單元格格式,怎麼添加刪除線?
    通常給excel內容添加刪除線有兩種方式,一種是從單元格格式中設置,另一種是利用快捷鍵快速添加,我們先來看看正常情況下用滑鼠點擊添加刪除線是如何操作的。如下圖所示表格中,我們需要將備註為「客人取消」的整行內容添加刪除線,為了方便觀看,我把字體設置成紅色。
  • 這軟體能一鍵去掉,煩人的不同的單元格格式太多,太好用了!
    VIP學員被單元格格式太多煩死了,老是提示這個對話框。清除以後,再也不會出現那個煩人的提示窗口。文件瘦身,其實還有一個作用就是讓文件變小,有時一個文件有幾十M,用這個功能以後就會瞬間變成幾十K。放下對WPS的偏見,WPS也有好用的功能,比如函數的中文提示,這個更適合中國人。還有合併、拆分單元格,這個是Excel需要費好大勁才能完成的。
  • Excel vba 利用定義名稱實現用戶登錄功能
    文/江覓易見在vba 中實現用戶登錄,並對登錄用戶進行身份識別,然後對用戶進行分組管理,此類功能值得進一步思考。這裡介紹一種方法,利用Excel中的名稱管理來進行身份識別,起到用戶登錄次數以及增減用戶的功能。
  • Excel中怎麼限制某些單元格不能修改 excel單元格限制編輯圖文教程
    Excel中怎麼限制某些單元格不能修改 excel單元格限制編輯圖文教程時間:2017-07-11 13:38   來源:三聯   責任編輯:沫朵 川北在線核心提示:原標題:Excel中怎麼限制某些單元格不能修改 excel單元格限制編輯圖文教程 下面小編帶來了excel鎖定固定某些單元格不被編輯的方法 excel
  • excel表格輕鬆搞定!
    在工作中,有時候會遇到把阿拉伯數字轉轉換為中文簡體,中文繁體,如果數據很多,而且一時找不到轉換的軟體,試試電腦上的excel吧,一個函數即可搞定。方法一:單元格格式。如下圖所示,按ctrl+1打開設置單元格格式對話框,選擇特殊中的中文小寫數字和中文大寫數字即可把阿拉伯數字轉化為中文簡體字符和中文繁體字符。但是請注意編輯欄,轉化完之後單元格裡的內容實質還是阿拉伯數字,只是顯示效果為中文小寫或者大寫。這種轉換結果是不能把轉換後的文字複製到word表格、微信聊天窗口等。如果想要把單元格裡的「實質」內容也變成中文大小寫,就需要用到函數了。
  • Excel這個函數可以讓單元格格式隨你改變,格式函數TEXT函數技巧
    TEXT函數,即單元格格式轉化函數,excel實際指標中,我們經常要求將某一個單元格自動轉化為我們想要的格式,比如講2019/04/20轉化為2019年4月20日,這是要麼去單元格格式自定義,要麼就可以用到我們今天介紹的函數,避免更改單元格格式,導致表格混亂。
  • 史上最全Excel自設置單元格格式使用匯總
    今天繼續分享菜單欄下的功能應用——設置單元格格式,這個功能只要是用Excel的人都會用到,所以有必要熟練運用,設置單元格格式主要包含以下6個,將分6篇文章分別介紹,今天介紹數字格式下面的用法:1、數字;2、對齊;3、字體;4、邊框;5、填充;6、保護;
  • 自動化:利用excel開源庫自動生成文檔,解決重複性操作
    不管是生活還是工作,我們經常會使用excel文檔,如果仔細觀察,就會發現其中會很多重複性的操作。因此,這就給我們提出這樣的問題,怎樣才能自動生成文檔,解決重複性的操作。 初步的解決方案就是代碼層面上組合讀寫excel接口,從而實現自動生成文檔的功能。
  • ExceL設置單元格格式填充顏色的使用方法
    今天繼續分享設置單元格格式裡的第5個【填充】的使用方法。1、填充單元格顏色如下圖,填充第2行表頭數據顏色為藍色,下面數據為灰色,打開設置單元格格式,選擇填充裡的顏色即可。2、設置填充效果上一篇文章中設計的進銷存效果,就是利用邊框加填充效果做出來的立體效果,操作如下
  • Excel 設置單元格格式批量添加前後綴
    別急,單元格格式來幫忙。一、選中要批量添加前綴的單元格,使用快捷鍵Ctrl+1調出設置單元格格式對話框。圖 1 Ctrl+1 設置單元格格式二、自定義單元格格式,輸入 "八一班 "@ 文字用雙引號引用。@符號代表通配任意長度的文本字符。
  • 掌握這11種Excel自定義單元格格式,讓你輕鬆實現高效辦公!
    【溫馨提示】親愛的朋友,閱讀之前請您點擊【關注】,您的支持將是我最大的動力!日常工作中,很多同事用Excel製作的表格,內容顯示清晰,而且表格製作也是相當快,很容易得到老闆欣賞。其實這些你也可以做到的,比如財務數據加上千位分隔符、金額變大寫、日期的快速錄入等等,這些都可以通過設置單元格格式完成,今天小編分享幾種設置單元格格式的方法,掌握了輕鬆實現高效辦公,最後一個還是表格整人小技巧喲!
  • 這9種Excel表格問題都可以用自定義單元格格式解決!
    【溫馨提示】親愛的朋友,閱讀之前請您點擊【關注】,您的支持將是我最大的動力!Excel中單元格是最基本的元素,而設置單元格格式又是一個最基本但又很高級的操作,我們製作表格時就會用到它,來設置一些簡單的格式,比如日期、帶千位分隔符的數字等等
  • excel如何鎖定單元格不被修改?
    今天小編要介紹的是excel如何鎖定單元格不被修改,希望對大家有所幫助!大家是不是遇到過這樣的問題:有一個excel表格文檔,需要給別人填寫一部分內容,但是又怕別人不小心改動到表格中原本的內容。其實這樣的問題在excel中很好解決,我們只需要將不想讓別人修改的單元格鎖定即可。接下來跟著小編一起來學習excel如何鎖定單元格不被修改吧!
  • Excel VBA從新手到高手系列課程
    三、   教學目的:本課程的目的和任務是使學員掌握Excel VBA的基本概念,基本原理及技術應用,讓學員在VBA應用方面形成知識體系,培養學員應用VBA解決實際問題的能力。四、 教學內容:本課程分三部分的內容,新手篇-進階篇-高手篇。教學由易到難,循序漸進,結合工作實例,易學易用。