excel中使用vba刪除工作薄中的空白工作表

小編致力於為大家奉獻最有效的經驗,讓大家能夠解決掉問題,但是大家也都知道,每個人遇到的情況都是不一樣的,大家在看小編經驗的同時,除了跟隨操作,也需要自己的思考,舉一反三的解決問題,這樣才會變得更加有內涵,成為和小編一樣的經驗達人。excel中使用vba刪除工作薄中的空白工作表,這裡,讓小編給大家介紹一下。

工具/原料

excel2016
此經驗本人原創首發,未經本人許可請勿轉載。

方法/步驟

首先我們打開一個工作樣表作為例子。

本工作薄中的工作表很多,顯得很複雜雜亂,而其中如果有空白工作表,那麼我們就可以將其刪除掉,減少工作表的標籤,達到精簡效率的目的。

如果是手動操作,那麼我們需要手動的點擊每一個工作表標籤,而且還要去觀察工作表內是否真的沒有內容才能確定是否刪除,而使用vba則可以快速解決。我們使用alt+f11組合快捷鍵進入vbe編輯器,插入一個新的模塊,並在模塊中輸入以下代碼:

Sub Delete_EmptySheets()

Dim sh As Worksheet

For Each sh In ThisWorkbook.Worksheets

If Application.WorksheetFunction.CountA(sh.Cells) = 0 Then

Application.DisplayAlerts = False

sh.Delete

Application.DisplayAlerts = True

End If

Next

End Sub

這裡我們使用簡單的一個for循環中的each循環,來歷遍整個工作薄中的工作表。這裡需要解釋一下代碼的寫法。首先我們要確認一下對象。對象是工作薄中的工作表,所以使用For Each sh In ThisWorkbook.Worksheets

接著我們對工作表的單元格進行判斷,sh.cells即是激活工作表中的每一個單元格。counta是application應用中屬於工作表的方法,這裡是對sh.cells中的內容進行計數返回。如果=0則該單元格內沒有數據。

關閉工作薄中的信息提示,並刪除該工作表。這裡sh是對象。是歷遍工作薄中當前激活的工作表。完成這一代碼後,重新恢復工作薄的信息提示。運行這段代碼,就會直接刪除掉所有不含有數據的空白工作表。

先寫到這裡了,謝謝大家的觀看。

祝大家生活愉快。

小編還有許多其他的經驗可以觀看,如果無法解決問題可以聯繫小編進行諮詢。

看不清楚圖片的可以點擊放大再看哦。

注意事項

個人經驗,僅供參考。

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場