我有一個工作簿,並希望一旦用戶從下拉列表中選擇了一個選項,就可以隱藏其他幾張工作表。代碼是目前 -使用宏隱藏選項卡
Sub select_role()
Dim role As String
role = Sheet3.Cells(11, "F").Value
Select Case role
Case "Project Manager"
Sheet10.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Sheet4.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet8.Visible = xlSheetHidden
Case "Business Analyst"
Sheet10.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Sheet5.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet8.Visible = xlSheetHidden
Case "Developer"
Sheet10.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Sheet4.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet5.Visible = xlSheetHidden
Sheet8.Visible = xlSheetHidden
Case "Architect"
Sheet10.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Sheet4.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet5.Visible = xlSheetHidden
Case "Payments"
Sheet5.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Sheet4.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet8.Visible = xlSheetHidden
Case "New Role"
Sheet10.Visible = xlSheetHidden
Sheet5.Visible = xlSheetHidden
Sheet4.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet8.Visible = xlSheetHidden
End Select
End Sub
但是我調試它,它進入的情況下,一個正常,然後當它從第一張到列表中的第二個動作,我得到一個運行時錯誤「1004」。
任何幫助,將不勝感激。
'Sheet11'幾乎總是要隱藏的第二張表。它受保護嗎? – Adam
在哪一行會得到運行時錯誤?你檢查是否存在所有表單嗎?它似乎只是隱藏和不顯示任何工作表。也許工作表已經隱藏了?工作簿(或任何工作表)是否受到保護? – Ralph
新角色是否也會發生這種情況,這是唯一一個沒有sheet11作爲第二個值的人 –