我有一個工作簿,用於多年的項目回報。我在ThisWorkbook中設置了一些代碼來鎖定結果工作表,但允許用戶打開或關閉列組(以允許他們隱藏或取消隱藏每年的月份列)。我目前的代碼,很好地工作,如下所示:Excel VBA將多個表格設置爲變量
Sheet10.Protect Password:="password", UserInterfaceOnly:=True
Sheet10.EnableOutlining = True
Sheet11.Protect Password:="password", UserInterfaceOnly:=True
Sheet11.EnableOutlining = True
等等4個表單(和它的工作原理)。
我想要做的是定義一個變量來存儲工作表標識符,並在真實代碼上運行For Each/Next循環。
但我不能得到一個變量聲明工作,不會拋出一些編譯或運行時錯誤。
我最喜歡的建設是
Dim wSheet as Worksheet
wSheet = Array(Sheet10, Sheet11, Sheet14)
For Each wSheet in Workbook
wSheet.Protect Password:="password", UserInterfaceOnly:=True
wSheet.EnableOutlining = True
Next wSheet
但它在我的設置wSheet失敗......我嘗試了好幾種變體,但它幾乎總是,第二行上失敗(沒有不管我用板材指數,表格名稱等)。有什麼想法嗎?