0
我嘗試刪除所有工作表從Sheet5開始到最後一個工作表,但我得到了「運行時錯誤下標超出範圍」。excel vba刪除工作表運行時錯誤下標超出範圍
Dim x as Long
For x = 5 To ThisWorkbook.Worksheets.Count
Application.DisplayAlerts = False
ThisWorkbook.Sheets(x).Delete
Application.DisplayAlerts = True
Next
結果它刪除,但只有Sheet5,Sheet7和Sheet9,但Sheet6和Sheet8仍然存在。灰色的調試按鈕,我想知道錯誤在哪裏。 請幫忙,因爲在這方面不斷掙扎,無法通過。 非常感謝!
以復加,VBA會刪除'Sheet'在那個位置,所以如果'Sheets'將被洗牌或命名,它將刪除'Sheet'位於'5'的位置作爲開始。 – DragonSamu
非常感謝@daZza我沒有意識到刪除Sheet5後,Sheet6將變成Sheet5,所以我只需要使用循環方法保留刪除Sheet5。 –
的確,我認爲在那裏很複雜:P – daZza