2021年8月7日 星期六

VBA:刪除工作頁內不要的工作表(關鍵字檢查)

刪除工作頁內不要的工作表

INSTR傳回某個字串在另一個字串內第一個出現的位置

執行刪除都會跳出警告對話框,所以要關掉:Application.DisplayAlerts = False

透過工作頁頁數來逐頁檢查,其實也可以用FOR EACH拉,

都好方法很多,問題僅有一個,哈。

EX1:

透過工作表名稱來檢查,以INSTR與自己設定的關鍵字檢查後,當出現就執行刪除

 SUB SHEET_CHECK_DELETE()

CHECK = "P" & "S" & "10" '自己設定的關鍵字檢查

    For P = Sheets.Count To 1 Step -1

        If InStr(CHECK, Sheets(P).Name) > 0 Then

        Application.DisplayAlerts = False '關閉警告

           Sheets(P).Delete '刪除        

        Application.DisplayAlerts = True '開啟警告

        End If

   Next

END SUB


刪除工作頁內不要的工作表動態版

EX2: 動態關鍵字版

 SUB SHEET_CHECK_DELETE(CHECK AS STRING)

    For P = Sheets.Count To 1 Step -1

        If InStr(CHECK, Sheets(P).Name) > 0 Then

                Application.DisplayAlerts = False '關閉警告

                Sheets(P).Delete '刪除

                Application.DisplayAlerts = True '開啟警告

        End If

   Next

END SUB

感謝M01 snare 大大救了頭暈的我

沒有留言:

張貼留言

職場毒癌:你憑什麼以為你十年寒窗,抵得我三代從商

你憑什麼以為你十年寒窗,抵得我三代從商——這句話已經記不得是從哪裡看到的,可能是某部劇,也可能是某篇 FB 文章標題。 但最近,特別有感。 為什麼會有這種感觸? 職場上有個同事,一路慢慢升到課長,好歹也是管理職,雖說不上鐵飯碗,但在多數人眼裡也算穩定。 結果呢?輾轉換了兩個製造課...