2017-02-14 73 views
2

我有一張名爲「HideSheets」(單列)的工作表,該工作表添加或有時會將其刪除。我如何引用表中如何基於表中的選項卡名稱隱藏Excel工作簿中的工作表

Sub HideSheets() 
    Dim cell As Range 
    On Error Resume Next 
    For Each cell In Sheets("Index").Range("HideSheets") 
     ' Hide sheets 
     Sheets(cell.Value).Visible = False 

End Sub 
+1

'For Each'還必須在代碼的底部有一個'Next'以便循環(即在'End Sub'之前) – CallumDA

回答

2

For Each還必須有一個Next命令

Sub HideSheets() 
    Dim r As Range 
    On Error Resume Next 
    For Each r In Sheets("Index").Range("HideSheets") 
     ' Hide sheets 
     Sheets(r.Value).Visible = xlSheetHidden 
    Next r 
End Sub 

而不是使用On Error Resume Next,檢查這可能會導致一個錯誤,並與他們妥善處理條件。例如,返回一個錯誤,其解釋如下(多個)錯誤發生的用戶:

  1. 用戶嘗試隱藏所有片在工作簿
  2. r.Value不是有效的表名稱。
+0

有關錯誤處理的更多信息,請訪問:http://stackoverflow.com/問題/ 1038006 /好模式換VBA的錯誤處理 – CallumDA

相關問題