工作上的關係,常常會處理一些 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 以上開啟