2021年7月12日 星期一

VBA_批次刪除工作表

         本例使用dictionary方式記錄不刪的工作表,然後對檔案中所有工作表檢查,只要不符合就刪掉,用VBA刪除工作表可以不顯示工作表就刪掉,對於檔案瘦身挺好用,這裡還用到inputbox對近期兩個工作表以輸入的方式保留。(2-3個月沒寫,的確有點生疏)



 Sub  批次刪除工作表()

    '2021/7/12 

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False    
    
   Dim D_不刪
    
    Set D_不刪 = CreateObject("scripting.dictionary")
    
    Sh_當期 = InputBox("輸入當其表格名稱", , Format(Date, "yyyymmdd"))
    
    Sh_上期 = InputBox("輸入當其表格名稱", , Format(Date - 7, "yyyymmdd"))
    
    sh_不刪 = Array("月簡表", "簡表", "月比較A", "月明細", "周比較", Sh_當期, Sh_上期)
    
    For i_sh = LBound(sh_不刪) To UBound(sh_不刪)
        D_不刪(sh_不刪(i_sh)) = i_sh
    Next
  
    For i_sh = Sheets.Count To 1 Step -1
        If D_不刪.exists(Sheets(i_sh).Name) = False Then Sheets(i_sh).Delete
    
    Next
End Sub

沒有留言:

張貼留言

用GPT修改M語法_以日期列處理

在2023年GPT開始使用時我就詢問過GPT,可能當時的GPT還不夠聰明,給予的答案無法運行,我認為原始的語法應該可以更聰明點,詢問過Power BI社群的人,但沒有人提供答案,終於在現在再度詢問GPT給予的答案與我思考的方向依樣,只是我懂得語法不多,透過GPT幫忙解答,我也學到...