工作上的關係,常常會處理一些 EXCEL 的東西,以前有買一本 快速寫巨集的書 叫做 Excel VBA 747 裡面有許多範例可以拿來直接套用…
當然也要有點 VB 的基礎才行,不然絕對會被 VB 搞混語法。
今天剛好遇到一個問題,業務手中的文件,常常存檔很慢,而且複製的時候都有不明的白邊,都刪除不掉。
我查看之後,使用 [常用] 分頁下 的 [尋找與選取] 按鈕,點選[選取窗格] ,就可以看到文件中有什麼物件
一打開來一看就是一堆的空圖片
嚇~這應該是不知道複製哪個網頁的資料貼上的邊框物件,本來以為不多,想叫他一個一個刪除,沒想到 EXCEL 點選這邊刪除會跑的很久….而且物件還塞了一千多個….
於是就寫了一隻巨集
現在只需要下載我寫好的巨集文件,或是直接將巨集貼上程式碼中,點選 [檢視] 分頁,按[巨集]按鈕,點選[檢視巨集],或是直接按下 [ALT+F8],可以看到目前的巨集,接著按下執行就好了
執行後清潔溜溜
程式碼如下
Option Explicit Sub DeleteAllPicture() Dim myShp As Shape Dim mySht1 As Object Dim mySht2 As Worksheet Dim myWd As Window Set myWd = ActiveWorkbook.Windows(1) For Each mySht1 In myWd.SelectedSheets If mySht1.Type = xlWorksheet Then Set mySht2 = mySht1 For Each myShp In mySht2.Shapes If myShp.Type = 13 Then myShp.Delete End If Next End If Next Set mySht1 = Nothing Set mySht2 = Nothing End Sub
Excel 巨集文件下載:excel_delete_all_picture
如果你的EXCEL版本比較舊,可能要手動輸入程式碼喔,該文件必須要 EXCEL 2007 以上開啟