[英]Hide non-active worksheets in Excel VBA
我在Excel 2013中有一個UserForm,可以在操作之前清除用戶的Excel頁面。 公共模塊具有以下VBA代碼:
Sub ShowForm()
With ActiveWorkbook
.Worksheets("Sheet1").Activate
.Worksheets("Sheet2").Visible = False 'Hide didn't work
.Worksheets("Sheet3").Visible = False 'Hide didn't work
End With
UserForm1.Show
End Sub
如何隱藏工作表2和3並激活或使工作表1可見? 代碼應該模仿右鍵單擊選項卡並選擇“隱藏”。 上面的代碼拋出Run-time error '9': Subscript out of range
。
看起來你隱藏了除活動表之外的所有內容。 試試這段代碼 - 它不依賴於工作表名稱。
Sub Test()
SheetVisibility 'Hide all except active sheet.
MsgBox "All except `" & ActiveSheet.Name & "` hidden."
SheetVisibility True 'Unhide all sheets.
End Sub
Sub SheetVisibility(Optional ShowAll As Boolean = False)
Dim wrkSht As Worksheet
For Each wrkSht In ThisWorkbook.Worksheets
If wrkSht.Name <> ActiveSheet.Name Then
wrkSht.Visible = IIf(ShowAll, xlSheetVisible, xlSheetHidden)
End If
Next wrkSht
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.