Sub DeleteSheets2()
Application.DisplayAlerts = False
For Each WS In Worksheets
If WS.Name = "HIT_Qualys_Scan" Then
Sheets("HIT_Qualys_Scan").Delete
End If
If WS.Name = "Status" Then
Sheets("Status").Delete
End If
Next WS
Application.DisplayAlerts = True
End Sub
上面的方法有效,但我總是得到一個錯誤,我必須結束然后再次運行 Sub。
我得到:

帶線:
如果 WS.Name = "狀態" 那么
一旦我點擊“結束”并再次運行它,它就可以作業了。有沒有辦法避免這個錯誤?我很困惑為什么在我點擊 End 后它會第二次運行。
uj5u.com熱心網友回復:
原因是如果WS在作業表上,則使用第一條陳述句HIT_Qualys_Scan將其洗掉。那時什么都不是,因為它的物件被洗掉了。IfWS
所以當你這樣做時,If WS.Name = "Status" Then它會嚇壞。沒有WS.Name了。它無法確定Name不存在的物件的屬性。
而是通過參考來測驗作業表名稱并洗掉WS:
Sub DeleteSheets2()
Application.DisplayAlerts = False
For Each WS In Worksheets
If WS.Name = "HIT_Qualys_Scan" OR WS.Name = "Status" Then
WS.Delete
End If
Next WS
Application.DisplayAlerts = True
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/435202.html
上一篇:null不是物件Sqlite ReactNativeexpoTypescript
下一篇:在兩組之間尋找唯一性
