2016-12-05 367 views
0

我有一張工作表,其中包含15張不同的工作表。我想要一個「主菜單」表單,我只需點擊一個按鈕,然後將其重定向到所選工作表,同時隱藏所有其他表單。從選擇的工作表中,我希望能夠再次返回到「主菜單」工作表,並仍然保持一切隱藏。因此,當時只顯示一張紙。隱藏/取消隱藏工作表 - VBA

我的問題是以下; 我使用的VBA代碼工作正常,但有時會顯示錯誤 Run time error '1004': Method 'Visible' of object '_Worksheet'failed ,並且當我去調試時,它顯示以下debug screen

如上所述,代碼工作「完美」,但有時運行時錯誤1004彈出。我究竟做錯了什麼?代碼如下:

Sub Button8_Click() 
Sheet3.Visible = xlSheetVisible 
Dim sh As Worksheet 

    For Each sh In ThisWorkbook.Sheets 
     If sh.Name <> "practice group - mtd" Then 
      sh.Visible = xlSheetHidden 
     End If 
    Next sh 
End Sub 
+0

如果您試圖隱藏最後一個可見表單,則會發生該錯誤。 Sheet3是否與名稱爲「practice group - mtd」的工作表相同? –

+0

此外,你的所有標籤「工作表」?與圖表/宏/對話框等相反。如果內存服務,它們都是「Sheet」對象,但它們並不都具有可見屬性。這不是100%。 –

+0

@ s.storm不確定你在哪裏「重定向」到工作表?我沒有看到任何'表格(「whatever_you_Selected」)。在你分享的代碼中的任何地方激活' –

回答

0

更快的解決辦法,避免循環中的所有圖紙: 保持某處隱藏在主菜單表單可見表的名稱。 (隱藏單元格,帶有FIXED位置)。 單擊按鈕後,如果選擇的內容與可見內容不同,則取消隱藏選定內容,隱藏上一頁,更新主菜單。

+0

感謝您的回答!但是,對於這個愚蠢的問題抱歉,我該怎麼做呢?對於這一切我都很新穎。那麼VBA代碼會是什麼? –