sheet2中包含要洗掉表頁的名稱,點擊洗掉按鈕,把這些名稱的表頁刪掉。
我寫了兩種結果都有問題:
洗掉1:del是變數,sheets(del).delete這樣寫不對?
洗掉2:只能洗掉第一個,后面就報錯了
請大神幫忙看看,謝謝!
不知道哪里掛附件,發個網盤地址
附件在這http://yunpan.cn/cmx5M6SfNPwhC (提取碼:720c)
uj5u.com熱心網友回復:
Sub 洗掉1()Application.DisplayAlerts = False
Du_maxRow = Sheets("sheet2").Range("a65536").End(xlUp).Row
For Each del In Worksheets("sheet2").Range("a2:a" & Du_maxRow)
Sheets(del.Value).Delete
Next
Application.DisplayAlerts = True
End Sub
del是單元格物件,這個時候,.value屬性不能省
至于你洗掉2那個代碼,因為你把表洗掉了,導致第二次回圈的時候的找不到作業表所以報錯
uj5u.com熱心網友回復:
以下的方法不知道是否是樓主需要的,或者可以給與一些啟發:我曾經遇到過洗掉grid表格中的資料回傳錯誤例外的情況
回圈洗掉有序物件,建議從最后一個開始,比如for i=9 to 1 step -1
原因是當你for i=1 to 9時,洗掉了1后,原先的2就變成1重新排序了,如此執行i=2時,洗掉的其實是原來的3,到最后一個物件時必定報錯,因為此時重新后該物件已經不存在了。
表達的有點亂
,不知道樓主是否能意會
uj5u.com熱心網友回復:
多謝提醒,.value后解決!轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/89602.html
標籤:VBA
